jqGrid:searchoptions中的dataUrl不能与jqGrid4.4.5一起使用

时间:2013-04-19 12:31:52

标签: jquery jqgrid

我在jqgrid中遇到了searchoptions属性。 当我点击网格中的搜索图标并使用“下拉列表”遍历该字段时,我会在firefox和IE8中看到以下错误

FF: TypeError:g未定义 jquery.jqGrid.min.js(第239行)

IE:消息:'postData'为null或不是对象Line:238

以下是代码段

  {name:'City', index:'City', width:80, align:'right', 
   editable: true,search:true,edittype: 'select',stype:'select',
   searchoptions: {
     ajaxSelectOptions: {type: "GET",datatype:"text"},
     dataUrl:  '/TESTAPP/Test',          
     dataEvents: [
             {  type: 'change',
                fn: function(e) {
                  alert(this.value)
              }
             } 
          ]}

我甚至没有看到请求命中服务器,这很奇怪。

P.S :同样适用于 editoptions

版本:

jqGrid:4.4.5

jquery:1.9.1

感谢您的帮助!

2 个答案:

答案 0 :(得分:5)

ajax选择应包含jqGrid用于单次搜索和高级搜索,以便为colModel中的任何列启用“select”选项。

 var grid = $("#list");
 grid.jqGrid({
     ajaxSelectOptions: {type: "GET"},
     colModel: [ 
            {name:'City', index:'City', width:80, align:'right', 
             editable:  true,
             search:true, 
             edittype: 'select',
             stype:'select',
             searchoptions: {
                 dataUrl: '/TESTAPP/Test',
                 buildSelect: function(resp) {
                     var sel= '<select>';
                     var obj = $.parseJSON(resp);
                     $.each(obj, function() {
                         sel += '<option value="'+this['value']+ '">'+this['label'] + "</option>"; // label and value are returned from Java layer
                     });
                     sel += '</select>';
                     return sel;
                 },          
                 dataEvents: [{  
                     type: 'change',
                     fn: function(e) {
                         alert(this.value)
                     }
                 }]
             }
      }]
 });

答案 1 :(得分:1)

我在Chrome中遇到了同样的问题。我收到了以下错误

Uncaught TypeError: Cannot read property 'postData' of undefined jquery.jqGrid.min.js:239

添加

ajaxSelectOptions: {type: "GET"} 

修好了。 感谢