我有以下代码:
$("#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
答案 0 :(得分:3)
我已经回复了与您相同的closed question。问题是你应该在jqGrid本身设置search
参数,而不是试图以这种方式改变postData。
换句话说,要将_search
设置为true
,您应将jqGrid的search
参数设置为true
,而不是直接设置postData
的任何属性。同样,您不应设置page
的{{1}}参数。而是使用postData
参数。
所以,你的代码应该更简单:
rowNum