2012-05-20 3 views
0

소유하고있는 Item 메뉴를 클릭하여 ComboButton의 레이블을 변경할 수 있습니까? 나는 다음과 같이하려고합니다 :Dojo ComboButton 레이블을 MenuItem 선택 항목으로 변경하는 방법은 무엇입니까?

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

언뜻보기에 이것은 범위 문제와 같습니다. search_type_button은 onClick 함수에서 사용할 수 없습니다. 메뉴 항목에 직접 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); 
}); 
+0

최신 버전의 dojo는 on() vs connect() – denov

관련 문제