gpt4 book ai didi

javascript - 如何获取 ExtJS Combobox 的选定索引

转载 作者:行者123 更新时间:2023-12-02 23:44:18 25 4
gpt4 key购买 nike

确定 ExtJS 中 ComboBox 中当前所选项目索引的经过认证的方法是什么?

ExtJS 3.x 和 4 之间的执行方式有区别吗?

var combo = new Ext.form.ComboBox(config);
var selectedIndex = combo.selectedIndex; // TODO: Implement
if(selectedIndex > 2) {
// Do something
}

关于如何将其作为属性添加到 ComboBox 对象的奖励点。

最佳答案

我认为您必须使用组合商店才能做到这一点。组合有一个私有(private)的 findRecord 方法,该方法将按属性和值对存储进行简单搜索。您可以在源代码本身中查看示例(Combo.js 第 1119 行)。

1)基于此您可以通过以下方式找到所选索引:

var v = combobox.getValue();
var record = combobox.findRecord(combobox.valueField || combobox.displayField, v);
var index = combobox.store.indexOf(record);

2) 或者您可以将自己绑定(bind)到“select”事件,该事件通过组合、所选记录及其索引作为参数来触发。

3)您还可以访问 View 的 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));
}
});

关于javascript - 如何获取 ExtJS Combobox 的选定索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6014593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com