【发布时间】:2015-08-19 12:34:23
【问题描述】:
我在 ExtJs 应用程序中使用 嵌套循环。我想使用break,继续下面的代码。我知道我们可以使用 return false 来打破循环,但是什么时候不能正常工作。
假设第一个(外)循环将从 1 运行到 10,第二个(内)循环将从 1 运行到 5。现在如果条件为真(1==1),那么它应该在面板中添加项目(复选框)只有一次。。添加项目后,它应该是中断,外部循环将开始继续。
注意 - 每次都会创建不同的面板(根据我完整的应用程序代码),所以如果条件为真,那么每个面板只有一个复选框。
如果有什么不清楚的地方请告诉我。
我的代码在提琴手中不起作用。我不知道为什么。根据下面的代码和我的理解,应该在按钮点击时创建两个复选框。
进程应该运行 -
- 1==1 为真,或者如果在内循环停止后满足条件。
-
2==2 为真,内部循环将停止。
Ext.onReady(function () { var window = new Ext.Window({ id: 'grdWindow', width: 400, title: 'Grid Samples', items: [ { xtype: 'button', text: 'testing', handler: function () { var obj1 = [ { a: 1}, { a: 2}, { a: 3}, { a: 4} ]; var obj2 = [ { a: 1 }, { a: 2 } ]; 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', } ] }); } }); return false; }); } }, { xtype: 'panel', id: 'pnlTesting', renderTo: Ext.getBody() } ] }).show(); });
【问题讨论】:
-
那么在使用
return false时什么不能正常工作? -
外循环没有启动,当我在完成内循环后使用 return false 时。如果我在完成内部循环之前使用 return false,它会给出语法错误。
-
使用
return false或更好的小提琴来显示您的代码。返回false应该没有任何问题。 -
@DrakeEnterpriseSystems - 我在我的问题上添加了代码。它在提琴手中无法正常工作,不知道为什么。
标签: loops extjs panel break extjs5