extjs 4、XTypeを防ぐ方法:既に選択されたアイテムがクリックされたときに「コンボ」が崩壊しますか?
-
24-10-2019 - |
質問
私は持っている ComboBox
. 。拡張リストからアイテムをクリックすると、 ComboBox
このアイテムを選択して崩壊します。すでに選択したアイテムをクリックすると、崩壊します。
「停止」する方法はありますか ComboBox
ユーザーが既に選択されたアイテムを選択したときに崩壊しますか?
PS:短くて私は欲しいです ComboBox
のように振る舞う TimeField
から http://dev.sencha.com/deploy/ext-4.0.0/examples/themes/index.html
アップデート
少なくともIE7とIE8では機能しないソリューションは必要ありません。
解決
その動作が必要な場合:
Ext.form.field.ComboBox.override({
onItemClick: Ext.emptyFn
});
他のヒント
var cb = new Ext.form.ComboBox({
// here is your local store
mode: 'local',
store: new Ext.data.SimpleStore({
fields: ['id', 'label'],
data: [
['1', 'One'],
['2', 'Two']
]
}),
listeners: {
'beforeselect': function (combo, record, index) {
// prevent collapsing if the same value is selected
if (record.data.label == combo.getRawValue()) return false;
}
}
});
あなたが扱っている3.3の場合、これはうまくいくようです:
Ext.form.ComboBox.override({
onSelect : Ext.form.ComboBox.prototype.onSelect.createInterceptor(function(record) {
return this.getValue() !== record.data[this.valueField || this.displayField];
})
});
ChromeおよびIE8でテストしました。それはを防ぎます onSelect
現在の値が設定しようとしている値と正確に一致する場合、関数が呼び出されます。
所属していません StackOverflow