【发布时间】:2015-10-25 04:49:34
【问题描述】:
我正在使用ExtJS 2.3。我有 3 个带有以下商店的组合框。
在这里,combo2 和 combo3 共享同一个 store。
以下是组合商店-
Combo1 商店:
副总裁
经理
员工
学生
Combo2 和 Combo3 商店:
作业
会议
工资
现在我的要求是,如果从 Combo1 中选择了“Student”,则应该从 combo2 和 3 中过滤掉“Salary”(不应显示“Salary”选项)
我正在对combo1的更改侦听器执行以下代码-
listeners: {
change: function(combo, record, index) {
var combo1Val = combo.value; // Give the selected value correctly
this.filterCombo(combo1Val , combo2);
this.filterCombo(combo1Val , combo3);
}
}
这是函数体
filterCombo: function (combo1Val , combo) {
if (combo1Val == 'Student') {
combo.store.filterBy(function (record) {
return record.get('text') != 'Salary';
});
}
else {
combo.store.clearFilter();
}
}
这里的问题是当我第一次从combo1中选择Student时,'Salary'选项从combo2中消失了。然后,当我展开 combo3 时,它会在那里显示薪水选项,然后再次单击 combo2 时,它再次显示“薪水”选项。不知何故,这个过滤器不起作用。
谁能告诉我这里做错了什么。
【问题讨论】:
-
不确定 2.3。如果可用,请在展开清除和过滤商店之前使用。
-
试试小提琴我会帮你解决这个问题
标签: javascript extjs filter combobox store