Seb*_*son 20 javascript combobox extjs selectedindex
在ExtJS中确定ComboBox中当前所选项目的索引的认证方式是什么?
ExtJS 3.x和4之间如何做到这一点有什么不同?
var combo = new Ext.form.ComboBox(config);
var selectedIndex = combo.selectedIndex; // TODO: Implement
if(selectedIndex > 2) {
// Do something
}
Run Code Online (Sandbox Code Playgroud)
关于如何将其作为属性添加到ComboBox对象的加分点.
Jad*_*Jad 36
我想你必须使用combo的商店.Combos有一个私有findRecord方法,可以通过属性和值对商店进行简单搜索.您可以在源代码本身中看到一个示例(Combo.js第1119行).
1)基于此,您可以通过以下方式找到所选索引:
var v = combobox.getValue();
var record = combobox.findRecord(combobox.valueField || combobox.displayField, v);
var index = combobox.store.indexOf(record);
Run Code Online (Sandbox Code Playgroud)
2)或者您可以将自己绑定到"选择"事件,该事件是使用组合,选择的记录及其索引作为参数触发的.
3)你也可以访问视图的getSelectedIndexes(),但我怀疑这是一个很好的解决方案(因为我不确定它是否始终可用)
最后,如果你想扩展组合框对象,我认为这应该有用(如果你选择第一个解决方案):
Ext.override(Ext.form.ComboBox({
getSelectedIndex: function() {
var v = this.getValue();
var r = this.findRecord(this.valueField || this.displayField, v);
return(this.store.indexOf(r));
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45597 次 |
| 最近记录: |