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



我想创建一个selectbox,它使用json数据动态加载选择选项。

"合作id"是一个选择框,我只想从其他数据库表中获取数据,所以我把url放在"dataURL"中,并使用"buildselect"来获取json数据。当我测试时,选择框中没有任何选项。我想我遗漏了什么或者我的代码中有什么错误。

下面是我的代码。

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;
                        }
                    }}

如果你在问题的文本中添加/jqGrid/getMerchantsID/?m_type=corp.html?type=json的回复,那就太好了。

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

最新更新