我創建一個複選框動態(基於條件)「創建複選框」按鈕,並在面板中添加此複選框。動態創建複選框沒有得到按鈕點擊檢查ExtJS
根據我的情況,只有1個複選框將被添加到面板中,它的項目ID將是「a1」。
當點擊另一個按鈕「checkedcheckbox」複選框應該被選中,但它沒有。當我通過按鈕單擊itemid獲取此複選框時,它顯示在開發人員工具中未定義。如果我通過面板項目獲取它,那麼它不顯示undefine,但複選框不檢查。
問題
- 爲什麼複選框顯示不確定,如果我得到它的itemId?
- 爲什麼複選框沒有被選中,如果我通過面板項目。它應該通過直接通過itemid和麪板項目獲得兩種方式。
我的帳戶在sencha fiddler有一些問題,這就是爲什麼我可以爲你創建一個提琴手。
代碼
Ext.onReady(function() {
var window = new Ext.Window({
id: 'grdWindow',
width: 400,
height: 500,
title: 'Grid Samples',
items: [
{
xtype: 'button',
text: 'Create checkbox',
handler: function() {
var obj1 = [
{ a: 1},
{ a: 2},
{ a: 3},
{ a: 4}
];
var obj2 = [
{ a: 1 },
{ a: 5 }
];
var i = 1;
var panel = Ext.getCmp('pnlTesting');
Ext.each(obj1, function (ob1) {
Ext.each(obj2, function (ob2) {
if (ob1.a == ob2.a) {
panel.add({
items:[
{
xtype: 'checkbox',
itemId: 'a'+i
}
]
});
return false;
}
});
});
}
},
{
xtype: 'panel',
id: 'pnlTesting',
height: 100,
renderTo: Ext.getBody()
},
{
xtype: 'button',
text: 'checkedcheckbox',
handler: function() {
Ext.getCmp('pnlTesting').items.items[0].items.items[0].checked = true;
//Ext.getCmp("a1").checked = true;
//Ext.getCmp('pnlTesting').doLayout();
}
}
]
}).show();
});
是。現在它可以工作。它應該是setValue(true)而不是checked = true。但checked = true也有效。我用過很多次。不要爲什麼它不在這裏工作。如果你知道,你能告訴我理由嗎? –