Ext Combobox


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();
}
},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值