2012-05-20 48 views
0

可以通過單擊它擁有的菜單項更改ComboButton的標籤嗎?我試圖通過:如何通過MenuItem選項更改Dojo ComboButton標籤?

var menu_item=new MenuItem({ 
    label:search_types_value[key].display_name, 
    onClick:function(){ 
     search_type_button.label="hi"; 
    search_type_button.startup(); 
    } 
}); 

var search_type_button=new ComboButton({ 
    id:"search_type_button", 
    label:"types", 
    dropDown: search_type_menu 
},"search_type_button"); 

但是,這似乎並不奏效。

回答

1

乍一看,這看起來像一個範圍問題。 onClick函數中不提供search_type_button。使用.connectonClick連接到您要執行的功能,而不是直接向菜單項提供onclick功能。

var menu_item=new MenuItem({ 
    label:search_types_value[key].display_name, 
}); 

var search_type_button=new ComboButton({ 
    id:"search_type_button", 
    label:"types", 
    dropDown: search_type_menu 
},"search_type_button"); 

search_type_button.connect(menu_item, 'onClick', function() { 
    var newLabel = 'hi'; 
    this.set('label', newLabel); 
}); 
+0

更新版本的dojo on()vs connect() – denov