1

我有点坚持 jqgrid 中的 searchoptions 属性。当我点击网格中的搜索图标并使用“下拉菜单”遍历该字段时,我会在 Firefox 和 IE8 中看到以下错误

FF : TypeError: g is undefined in jquery.jqGrid.min.js (line 239)

IE:消息:“postData”为空或不是对象行: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)
              }
             } 
          ]}

我什至没有看到请求到达服务器,这很奇怪。

PS:同样适用于编辑选项

版本:

jqGrid:4.4.5

jQuery:1.9.1

谢谢你的帮助!

4

2 回答 2

5

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

 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)
                     }
                 }]
             }
      }]
 });
于 2013-04-19T20:33:37.723 回答
1

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

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

添加

ajaxSelectOptions: {type: "GET"} 

解决它。谢谢

于 2014-07-18T16:12:01.977 回答