【发布时间】:2017-04-17 14:43:16
【问题描述】:
如何在 ExtJS 4.2.1 的组合框中禁用特定数据项?这 组合框值是数据和值对:
orderTypes = [
['Local', 'Local'],
['Device', 'Device'],
['None', 'None']
];
我想禁用组合框中的值“设备”。所以我尝试了下面的代码,其中orderComboTwo 是我的comboxbox。但是,它不会禁用组合框中列出的数据。
orderComboTwo.getStore().data.items[1].data.disabled = true;
【问题讨论】:
-
如果这是您需要的,请检查此链接。 stackoverflow.com/questions/12827828/…>
-
嗨,sreenath,它们似乎是特定于该领域的。但我的问题是,我有两个具有相同值的组合框,两个组合框都说(本地,设备和无)..现在我在第一个组合框中选择了“本地”,那么我应该无法在第二个组合框中选择“本地”。可能是动态的。我尝试了什么'listeners: { beforeselect: function(combo, records, eOpts) { if (records.data.value == orderComboOne.getValue()) { orderComboTwo.getStore().data.items[1].data.disabled = true;}',disable = true 不起作用。它是第二个组合框侦听器。 @SreenathPG
-
我认为您要查找的内容确实很难处理,而且您编写的代码也不可能,因为商店的数据项没有“禁用”属性。如果选择与第一个组合框相同的值,我建议您是否可以进行验证,因此不允许用户继续使用它,或者您可以直接删除从第一个组合框中选择的数据或值每当在第一个组合框中选择值时,第二个组合框就会自行存储。这将是一个更好的解决方案。你怎么看?
-
@HarshitShah 我认为从第二个组合框中删除数据不会更好,因为首先可以在第一个组合框中选择一个值作为“本地”然后我删除第二个组合框中的相同值,用户的想法可能会随着第一个组合框的值而改变,以便他可以使用“设备”现在我必须删除第二个组合框中的相同值。现在的值第二个组合框将只有“无”。希望您理解删除第二个组合框中的值的困难。
-
不。我的意思是每当您在第一个组合中选择一个值时,您只需重新加载第二个组合存储,只删除第一个组合选择的值。
标签: javascript extjs