Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ExtJS从同级元素获取值_Javascript_Extjs - Fatal编程技术网

Javascript ExtJS从同级元素获取值

Javascript ExtJS从同级元素获取值,javascript,extjs,Javascript,Extjs,我正在使用extjs3.4 我已将面板动态添加到父面板。 我想在单击时捕获迭代器(I)的值。 此迭代器的值保存在隐藏元素中: xtype: 'hidden', cls: 'hidden-ID', value: i 所以基本上只要点击我就能找到这个兄弟姐妹(可能是通过类名或类型?) 但我真的不知道怎么做——我一直试图找到父母,但从父母那里我找不到孩子 例如 代码: Ext.onReady(函数(){ var eleCatDisplay2=新的外部面板({ renderTo:Ext.getBody

我正在使用extjs3.4

我已将面板动态添加到父面板。 我想在单击时捕获迭代器(I)的值。 此迭代器的值保存在隐藏元素中:

xtype: 'hidden',
cls: 'hidden-ID',
value: i
所以基本上只要点击我就能找到这个兄弟姐妹(可能是通过类名或类型?)

但我真的不知道怎么做——我一直试图找到父母,但从父母那里我找不到孩子

例如

代码:

Ext.onReady(函数(){
var eleCatDisplay2=新的外部面板({
renderTo:Ext.getBody(),
身高:350
});
对于(i=0;i<10;i++){
eleCatDisplay2.添加(新的外部面板({
布局:“hbox”,
边界:错,
风格:{
玛金托普:“10px”
},
项目:[{
xtype:'displayfield',
弹性:1,
值:'rowNum__;'+i.toString()
}, {
xtype:'隐藏',
cls:“隐藏ID”,
价值:i
}, {
xtype:'面板',
弹性系数:0.3,
边界:错,
html:“单击以发送”,
听众:{
“渲染”:函数(面板){
panel.body.on('click',function(){
//在这里,我想抓住我的价值
警报(“测试”);
});
}
}
}]
}));
}
eleCatDisplay2.doLayout();
});
解决方案(在显示字段中,我添加了cls:“显示猫名”):


也可以将值存储在面板的某些自定义属性中:

Ext.onReady(function () {

    var eleCatDisplay2 = new Ext.Panel({
        renderTo: Ext.getBody(),
        height: 350
    });

    for (i = 0; i < 10; i++) {
        eleCatDisplay2.add(new Ext.Panel({
            layout: 'hbox',
            border: false,
            style: {
                marginTop: '10px'
            },
            items: [{
                xtype: 'displayfield',
                flex: 1,
                value: 'rowNum__' + i
            }, {
                xtype: 'hidden',
                cls: 'hidden-ID',
                value: i
            }, {
                xtype: 'panel',
                flex: 0.3,
                border: false,
                html: '<div>click to send</div>',
                somePropertyName: i,
                listeners: {
                    'render': function (panel) {
                        panel.body.on('click', function () {
                            console.log(panel.somePropertyName);
                        });
                    }
                }
            }]
        }));
    }
    eleCatDisplay2.doLayout();

});
Ext.onReady(函数(){
var eleCatDisplay2=新的外部面板({
renderTo:Ext.getBody(),
身高:350
});
对于(i=0;i<10;i++){
eleCatDisplay2.添加(新的外部面板({
布局:“hbox”,
边界:错,
风格:{
玛金托普:“10px”
},
项目:[{
xtype:'displayfield',
弹性:1,
值:'rowNum_u__;'+i
}, {
xtype:'隐藏',
cls:“隐藏ID”,
价值:i
}, {
xtype:'面板',
弹性系数:0.3,
边界:错,
html:“单击以发送”,
somePropertyName:i,
听众:{
“渲染”:函数(面板){
panel.body.on('click',function(){
console.log(panel.somePropertyName);
});
}
}
}]
}));
}
eleCatDisplay2.doLayout();
});

非常感谢。正是我错过的。
var cNM = Ext.getCmp(this.up('.hbox-parent').select('.display-cat-name').elements[0].id).value;


 var catId = this.up('.hbox-parent').select('.hidden-ID').elements[0].value;
Ext.onReady(function () {

    var eleCatDisplay2 = new Ext.Panel({
        renderTo: Ext.getBody(),
        height: 350
    });

    for (i = 0; i < 10; i++) {
        eleCatDisplay2.add(new Ext.Panel({
            layout: 'hbox',
            border: false,
            style: {
                marginTop: '10px'
            },
            items: [{
                xtype: 'displayfield',
                flex: 1,
                value: 'rowNum__' + i
            }, {
                xtype: 'hidden',
                cls: 'hidden-ID',
                value: i
            }, {
                xtype: 'panel',
                flex: 0.3,
                border: false,
                html: '<div>click to send</div>',
                somePropertyName: i,
                listeners: {
                    'render': function (panel) {
                        panel.body.on('click', function () {
                            console.log(panel.somePropertyName);
                        });
                    }
                }
            }]
        }));
    }
    eleCatDisplay2.doLayout();

});