我想创建一个选择框,使用json数据动态加载选择选项。
'合作ID'是一个选择框,我想要做的就是从其他数据库表中获取数据,所以我把网址放在' dataURL'并使用' buildselect'获取json数据。 我测试时,我在selectbox中没有选项。我想我错过了我的代码中的某些内容或错误。
这是我的代码。
jQuery(function($) {
jQuery(grid_selector).jqGrid({
url: '/jqGrid/merchantEstablishmentList',
datatype: 'json',
height: 'auto', autowidth: true,
colNames:
[
'Establishment ID',
'Establish Name',
'Corporation ID'
],
colModel:
[
{name:'ESTABLISHMENT_ID',index:'ESTABLISHMENT_ID', editable:true, sortable:false,search: false},
{name:'ESTABLISHMENT_NAME',index:'ESTABLISHMENT_NAME', editable:true, sortable:false,search: false},
{name:'CORPORATE_ID',index:'CORPORATE_ID', sortable:false,edittype:"select", editable:true, search: false, editoptions: {
dataUrl : '/jqGrid/getMerchantsID/?m_type=corp.html?type=json'
,buildSelect:function (data) {
value = jQuery.parseJSON(data).combo;
var result = '<select>';
for(var idx=0; idx < value.length; idx++) {
result += '<option value="' + value[idx] + '">' + value[idx] + '</option>';
}
result += '</select>';
return result;
}
}}
答案 0 :(得分:0)
如果您使用/jqGrid/getMerchantsID/?m_type=corp.html?type=json
的回复附加问题文本,那将会很好。
您使用的是哪个版本的jqGrid?如果您使用当前版本的jqGrid ,并且您的服务器返回正确的格式化数据,那么您应该使用data.combo
而不是jQuery.parseJSON(data).combo
。另外,您应该在var
之前添加value
。您当前的buildSelect
代码隐式声明全局 value
变量。