jqGrid'_search'参数未在URL中设置

时间:2011-06-22 14:59:08

标签: jquery-plugins jqgrid url-parameters

我有以下代码:

$("#perform_search").click(function() {    
  var postdata = $("#translationsList").jqGrid('getGridParam','postData');
  postdata._search = true;
  postdata.searchString = $("#auto_complete_search").val();
  console.log('postdata._search: ' + postdata._search);
  jQuery("#translationsList").trigger("reloadGrid", [{page:1}]);
});

当我点击标识为perform_search的按钮时,结果网址位于下方,并且值searchString=hello是从ID为auto_complete_search的文字字段中提取的:

[domainname]/translations_feed.php?language_cd=EN&安培; _search =假 &nd=1308754288459&rows=20&page=1&sidx=phrase&sord=asc&searchString=hello

...应该发生的是URL字符串有_search=true,但正如您从示例网址中看到的那样,传递的值为_search=false 注意:第5行,我将postdata._search的值输出到控制台,控制台按预期显示postdata._search: true,因此看起来按预期工作。

似乎所有其他参数都正好通过。

更新

似乎,如果我第一次使用内置搜索按钮(jqGrid中的小放大镜图标),那就是正确设置“_search = true”参数 - 之后我的按钮工作正常。不确定两者之间的联系是什么,但基本上似乎我的参数仍然被忽略。例如,如果我通过放大镜进行搜索,并更改我的javascript,以便LINE 5读取postdata._search = false,它会传递_search=true(换句话说,LINE 5似乎完全被忽略)。

想知道我是否只是在postdata

上设置了错误的变量

1 个答案:

答案 0 :(得分:3)

我已经回复了与您相同的closed question。问题是你应该在jqGrid本身设置search参数,而不是试图以这种方式改变postData。

换句话说,要将_search设置为true,您应将jqGrid的search参数设置为true,而不是直接设置postData的任何属性。同样,您不应设置page的{​​{1}}参数。而是使用postData参数。

所以,你的代码应该更简单:

rowNum