我在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
感谢您的帮助!
答案 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"}
修好了。 感谢