前段时间公司项目要求一个复选框,网上找了几个都不是很符合要求,总是这里那里有点问题,所以还是自己花了点时间封装了一个。
用法和一般的EXT Combobox一样,只是多了几个配置。
check 为true时表示为复选模式,false是为单选模式
displayValue 为true时表示显示在页面上的值为Value,false时为text
displayAll 是否显示全显项
selectAllTxt 全选项的显示文本
getCheckValue() 复选模式下获得所选的value
getCheckDisplay() 复选模式下获得所选的text
由于发贴限制所以分开了几个发,最后一个带源码文件,
Ext.util.Format.comboRenderer = function(obj){ return function(value){ var combo = this.editor; var rst=value.split(combo.separator); var snapshot = combo.store.snapshot || combo.store.data; var temp = []; if(combo.check){ for(var i=0;i<rst.length;i++){ var flag = true; snapshot.each(function(r) { if(r.get(combo.valueField) == rst[i]){ flag = false; temp.push(r.get(combo.displayField)); return false; } }, this); if(flag) temp.push(rst[i]); } return temp.join(combo.separator); } else{ return this.value; } } };