2013-01-21 96 views
0

我想添加一個複選框到使用JavaScript的TitlePane標題中,當選中它時將能夠檢查TitlePane內容中的所有複選框。我已成功通過下面的代碼添加複選框:標題欄標題中的複選框

var cb = new dijit.form.CheckBox({name:"checkBox"}).placeAt(dijit.byId("someid").focusNode, "end"); 

然而,標誌着爲選中的複選框,激活TitlePane的打開/關閉動作。不確定如何將複選框的操作與TitlePane的操作分開。

基於耶利米的建議下,我用這個代碼:

var selectGrp1DNew = new dijit.form.CheckBox({ 
    id : "grp1DButtonNew", 
    onClick: function(e){ 
     e.stopPropagation(); 

     //function to identify child checkboxes and turn then on/off 
     chkGrp(this); 
    } 

    //group1D is the TitlePane id 
}).placeAt(dijit.byId("group1D").focusNode, "end"); 

請幫幫忙, 薩米爾

回答

0

嘗試在你的複選框的Click事件處理程序使用event.stopPropagation():http://dojotoolkit.org/reference-guide/1.8/quickstart/events.html

更新 看着你的更新代碼和評論,我建議改爲連接到CheckBox的onChange事件。

+0

Thanks!這對我很好,但增加了另一個問題。 TitlePane的開啓/關閉操作不再有效。有什麼想法可能會出錯?除了TitlePane和其中的複選框之外,我還沒有處理任何其他元素。 – samirg

+0

我已將新代碼添加到原始文章 – samirg

+0

@samirg建議添加到我的答案中。 –

0

A TitlePane標題可以包含複選框。像這樣:

var titlePane1 = new TitlePane({ 
     id: "titlePane1", 
     title: "input type='checkbox'/>", 
     content: "Collapse me!" , 
     open:false 
    }, "titlePane1");