我希望能够更改ExtJS组件格式化POST数据的方式。
更具体地说,我正在使用MultiSelect用户扩展。使用逗号分隔值的单个参数格式化发布数据。
即。 multiSelect = 1,2,3
我需要处理的方法是拥有多个相同的属性
即。 multiSelect = 1 multiSelect = 2 multiSelect = 3
MutliSelect组件如下
var multiselect = new Ext.ux.Multiselect({
name : 'multiselect',
fieldLabel : 'Multiselect',
dataFields : ['code', 'desc'],
data : [['1', 'One'], ['2', 'Two'], ['3', 'Three'], ['4','Four'], ['5', 'Five']],
valueField : 'code',
displayField : 'desc',
width : 150,
height : 150,
allowBlank : true
});
答案 0 :(得分:2)
这不是100%,这可行,但我怀疑做这样的事情应该:
Ext.override(Ext.ux.Multiselect, {
getValue: function() {
var returnArray = [],
selectionsArray = this.view.getSelectedIndexes(),
i;
for (i = 0; i < selectionsArray.length; i++) {
returnArray.push(this.store.getAt(selectionsArray[i]).get(((valueField != null)? valueField : this.valueField)));
}
return returnArray;
}
});
发送数组应该使用正常的Ext.urlEncode
行为。
答案 1 :(得分:0)
将组件配置为具有空分隔符,即delimiter:null(请参阅api文档)