查看官方API,发现有个data属性,自动将data属性对应的json对象,解析为combobox下拉列表。突然想到,
通过设置、修改data属性值来完成combobox下拉列表的添加。改造代码如下:
$.ajax({
url: '远程地址',
dataType: 'json',
success: function(jsonstr){
// 修改ajax返回的值
jsonstr.push({
'name':'新增值',
'version':'新增键'
});
$('#test').combobox({
data:jsonstr,
valueField:'version',
textField:'name',
filter: function(q, row){
var opts = $(this).combobox('options');
return row[opts.textField].toLowerCase().indexOf(q.toLowerCase()) >= 0; // 同一转换成小写做比较,==0匹配首位,>=0匹配所有
}
});
}
});
这样,就解决了通过服务端返回的数据,使用combobox,在前端进行动态添加修改键值对。绕了一圈,总算解决问题。
通过设置、修改data属性值来完成combobox下拉列表的添加。改造代码如下:
$.ajax({
url: '远程地址',
dataType: 'json',
success: function(jsonstr){
// 修改ajax返回的值
jsonstr.push({
'name':'新增值',
'version':'新增键'
});
$('#test').combobox({
data:jsonstr,
valueField:'version',
textField:'name',
filter: function(q, row){
var opts = $(this).combobox('options');
return row[opts.textField].toLowerCase().indexOf(q.toLowerCase()) >= 0; // 同一转换成小写做比较,==0匹配首位,>=0匹配所有
}
});
}
});
这样,就解决了通过服务端返回的数据,使用combobox,在前端进行动态添加修改键值对。绕了一圈,总算解决问题。