0

所有するメニュー項目をクリックして、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");

ただし、これは機能しないようです。

4

1 に答える 1

1

一見すると、これは範囲の問題のように見えます。search_type_buttononClick 関数では使用できません。onclick 関数をメニュー項目に直接提供する代わりに、 を使用.connectして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);
});
于 2012-05-20T11:21:19.603 に答える