前台代码:
<ext:ComboBox ID="cbVcode" runat="server" FieldLabel="申请车号<font color='red'>*</font>" EmptyText="请输入申请车牌号"
AllowBlank="false" BlankText="申请车号不能为空" StoreID="StoreVcode" ValueField="VCode"
DisplayField="VCode" ForceSelection="true" Mode="Local" >
<Triggers>
<ext:FieldTrigger Icon="Clear" HideTrigger="true" Qtip="清空内容" />
</Triggers>
<Listeners>
<Select Handler="this.triggers[0].show();cbVcodeSelect();" />
<BeforeQuery Fn="comBoxValueSelect"/>
<TriggerClick Handler="if (index == 0) { this.clearValue(); this.triggers[0].hide(); #{cbOilInfo}.clearValue();#{txtDriver}.reset();}" />
</Listeners>
</ext:ComboBox>
js代码:
///ComboBox 模糊匹配store数据
var comboxCoun = 0;
var comBoxValueSelect = function (e) {
//e.triggers[0][e.getRawValue().toString().length == 0 ? 'hide' : 'show']();
var com = e.combo;
//第一次输入一个值就绑定ComboBox
if (comboxCoun == 0) {
com.onLoad();
comboxCoun = 1;
}
if (!e.forceAll) {
var value = e.query;
com.store.filterBy(function (record, id) {
var text = record.get(com.displayField);
return (text.indexOf(value) != -1);
});
//com.collapse();
com.expand();
return false;
}
if (com.getRawValue().length > 0) {
com.triggers[0].show();
}
else {
com.triggers[0].hide();
}
//用自己的过滤规则,如写正则式 return (text.indexOf(value)!=-1); }); combo.expand(); return false; } });
}