ExtJS从同级元素获取值

krcsximq  于 2022-11-05  发布在  其他
关注(0)|答案(2)|浏览(216)

我使用的是extjs 3.4
我有动态添加到父面板的面板。我想在单击时捕获迭代器(i)的值。此迭代器的值保存在隐藏元素中:

  1. xtype: 'hidden',
  2. cls: 'hidden-ID',
  3. value: i

所以基本上,只要单击一下,我就可以找到这个兄弟(也许是通过类名或类型?)。
但是我真的不知道怎么做--我已经试着找父母了,但是从父母那里我找不到孩子。
示例如下
编码:

  1. Ext.onReady(function () {
  2. var eleCatDisplay2 = new Ext.Panel({
  3. renderTo: Ext.getBody(),
  4. height: 350
  5. });
  6. for (i = 0; i < 10; i++) {
  7. eleCatDisplay2.add(new Ext.Panel({
  8. layout: 'hbox',
  9. border: false,
  10. style: {
  11. marginTop: '10px'
  12. },
  13. items: [{
  14. xtype: 'displayfield',
  15. flex: 1,
  16. value: 'rowNum__' + i.toString()
  17. }, {
  18. xtype: 'hidden',
  19. cls: 'hidden-ID',
  20. value: i
  21. }, {
  22. xtype: 'panel',
  23. flex: 0.3,
  24. border: false,
  25. html: '<div>click to send</div>',
  26. listeners: {
  27. 'render': function (panel) {
  28. panel.body.on('click', function () {
  29. //here I would like to catch value of i
  30. alert('test');
  31. });
  32. }
  33. }
  34. }]
  35. }));
  36. }
  37. eleCatDisplay2.doLayout();
  38. });
dnph8jn4

dnph8jn41#

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

  1. Ext.onReady(function () {
  2. var eleCatDisplay2 = new Ext.Panel({
  3. renderTo: Ext.getBody(),
  4. height: 350
  5. });
  6. for (i = 0; i < 10; i++) {
  7. eleCatDisplay2.add(new Ext.Panel({
  8. layout: 'hbox',
  9. border: false,
  10. style: {
  11. marginTop: '10px'
  12. },
  13. items: [{
  14. xtype: 'displayfield',
  15. flex: 1,
  16. value: 'rowNum__' + i
  17. }, {
  18. xtype: 'hidden',
  19. cls: 'hidden-ID',
  20. value: i
  21. }, {
  22. xtype: 'panel',
  23. flex: 0.3,
  24. border: false,
  25. html: '<div>click to send</div>',
  26. somePropertyName: i,
  27. listeners: {
  28. 'render': function (panel) {
  29. panel.body.on('click', function () {
  30. console.log(panel.somePropertyName);
  31. });
  32. }
  33. }
  34. }]
  35. }));
  36. }
  37. eleCatDisplay2.doLayout();
  38. });
展开查看全部
mbskvtky

mbskvtky2#

解(在显示字段上我已经添加cls:“显示猫名”):

  1. var cNM = Ext.getCmp(this.up('.hbox-parent').select('.display-cat-name').elements[0].id).value;
  2. var catId = this.up('.hbox-parent').select('.hidden-ID').elements[0].value;

相关问题