jqgrid /如何创建选择框动态加载选择选项

时间:2014-11-09 12:38:06

标签: jquery json jqgrid

我想创建一个选择框,使用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;
                        }
                    }}

1 个答案:

答案 0 :(得分:0)

如果您使用/jqGrid/getMerchantsID/?m_type=corp.html?type=json的回复附加问题文本,那将会很好。

您使用的是哪个版本的jqGrid?如果您使用当前版本的jqGrid ,并且您的服务器返回正确的格式化数据,那么您应该使用data.combo而不是jQuery.parseJSON(data).combo。另外,您应该在var之前添加value。您当前的buildSelect代码隐式声明全局 value变量。