Ext.ns("Dma.common");
Dma.common.DmaCommon = Ext.extend(Ext.form.ComboBox, {
check : true,
displayValue : false,
displayAll:true,
valueText : [],
displayText : [],
separator : ',',
hiddenValue : '',
flag : 0,
selectAllTxt : 'SELECT ALL',
hasSelectAll : false,
initComponent : function() {
if (this.check) {
this.tpl = ''
+ '<tpl for=".">'
+ '<div class="x-combo-list-item">'
+ '<input class="x-form-check-wrap" style="border:none;background:none;" type="checkbox" name="combox" {[values.'
+ this.checkField + '?"checked":""' + ']}/>{'
+ this.displayField + '}</div></tpl>';
} else {
this.tpl = '<tpl for="."><div class="x-combo-list-item">{'
+ this.displayField + '}</div></tpl>';
}
Dma.common.DmaCommon.superclass.initComponent.apply(this, arguments);
this.onLoad = this.onLoad.createSequence(function() {
if (this.el) {
var v = this.el.dom.value;
this.el.dom.value = '';
this.el.dom.value = v;
}
});
},
getCheckValue : function() {
if (this.check) {
var rst = [];
var snapshot = this.store.snapshot || this.store.data;
var f = false;
snapshot.each(function(r) {
if (r.get(this.checkField)) {
if (r.get(this.displayField) != this.selectAllTxt) {
rst.push(r.get(this.valueField));
}
} else if(r.get(this.displayField) != this.selectAllTxt){
f = true;
}
}, this);
if(f)
this.hasSelectAll = false;
else
this.hasSelectAll = true;
var temp = rst.join(this.separator);
this.hiddenValue = temp;
return temp;
} else {
this.hiddenValue = this.getValue();
return this.hiddenValue;
}
},
getCheckDisplay : function() {
if (this.check) {
var rst = [];
var val = [];
var snapshot = this.store.snapshot || this.store.data;
var f = false;
snapshot.each(function(r) {
if (r.get(this.checkField)) {
if (r.get(this.displayField) != this.selectAllTxt) {
rst.push(r.get(this.displayField));
val.push(r.get(this.valueField));
}
} else if(r.get(this.displayField) != this.selectAllTxt){
f = true;
}
}, this);
if(f)
this.hasSelectAll = false;
else
this.hasSelectAll = true;
this.hiddenValue = val.join(this.separator);
var temp = rst.join(this.separator);
//this.setRawValue(temp);
return temp;
} else {
this.hiddenValue = this.getValue();
return this.getValue();
}
},
分享到:
相关推荐
在给定的标题“Ext ComboBox 下拉多选框带搜索功能”中,我们关注的是一个特别的ComboBox实现,它不仅允许用户从下拉列表中选择多个选项,还具备搜索功能,使得用户可以更高效地找到他们想要的选择项。 ComboBox在...
ext,ext combobox,ext二级联动,ext combobox二级联动 ___本人的原则:上传好东西,但绝不便宜.因为自己的心血 ext combobox二级联动,ext ,ext combobox,combobox,combobox二级联动,ext 二级联动 groupCombo.on('...
"Ext ComboboxGrid"是一个基于Ext JS框架的组件,它结合了下拉框(ComboBox)和数据网格(Grid)的功能,提供了一种更强大的选择和筛选数据的方式。在Ext JS中,ComboBox通常用于显示一个可选的下拉列表,而Grid则...
本篇我们将深入探讨“Ext comboBox的remote模式”及其联想功能的实现。 在Ext JS的comboBox中,远程模式(remote mode)是一种数据加载策略,它适用于处理大量数据或实时数据的情况。在这种模式下,comboBox不会一...
Ext ComBobox是一款基于JavaScript库Ext JS开发的下拉组合框组件,它为用户界面提供了一种高效、灵活且功能丰富的选择输入方式。这个组件通常用于在网页应用中实现复杂的数据选择,比如从一个长列表中选取一项或者...
本知识点主要聚焦于如何在Ext4.0框架下动态修改ComboBox的选择项,特别是在本地模式下进行操作。Ext4.0是Sencha Ext JS的一个版本,它提供了一个强大的JavaScript组件库,用于构建富客户端应用程序。 首先,...
var provinceComboBox = Ext.create('Ext.form.ComboBox', { store: provincesStore, displayField: 'name', valueField: 'id', queryMode: 'local', listeners: { select: function(combo, record) { // 在...
而"Ext带图标Combobox"(Ext IconCombobox)是Ext JS中的一个特色组件,它是Combobox(下拉框)与图标相结合的一种扩展形式,为用户提供了更加直观且美观的交互体验。 **1. Ext Combobox基础** 首先,我们需要了解...
在EXT JS中,Combobox控件常用于创建下拉列表,允许用户从预定义的选项中选择一个值。本文将详细讲解如何实现EXT Combobox动态加载数据库数据,并提供前后台的实现方法。 EXT Combobox动态加载数据库数据的核心在于...
该资源是war包,里面包括ComboBox中的各个参数, 详细讲解在我的文档中有
- `store`:用于存储下拉选项的数据源,可以是数组或Ext.data.Store对象。 2. **多选事件处理**: - `select`事件:在多选模式下,当用户添加或移除选项时,这个事件会被触发。我们需要监听此事件来处理值的改变...
在本文中,我们将深入探讨如何使用Ext 2.0的ComboBox组件实现省份和城市联动选择框的功能。Ext是一个强大的JavaScript库,它提供了丰富的用户界面组件,包括ComboBox,用于创建下拉选择框。在这个例程中,我们将看到...
var provinceComboBox = new Ext.form.ComboBox({ store: provinceStore, displayField: 'name', valueField: 'id', typeAhead: true, queryMode: 'local', listeners: { select: function(combo, record, ...
用EXT来实现下拉框ComboBox 下拉框可以实现分页
EXT2_combobox_form.rar_combobox ext_ext 这个标题暗示我们关注的是一个与EXT2相关的项目,其中包含了关于form表单和combobox的示例。EXT是一个流行的JavaScript库,主要用于构建富客户端应用,特别是Web应用的用户...