jqGrid setSelect函数与参数化查询
我正在使用jqGrid,在编辑/添加function上我希望在其中一个字段中有一个下拉列表。
如果我使用setSelect函数,这是有效的:
$grid->setSelect("title", "SELECT DISTINCT name,name as TestingName FROM template", true, true, false, array(""=>"All"));
如何将参数传递给我的查询? 我试过这些:
1- "SELECT DISTINCT name,name as TestingName FROM template where tempid = ?"
2- "SELECT DISTINCT name,name as TestingName FROM template where tempid = $rowid"
3- "SELECT DISTINCT name,name as TestingName FROM template where tempid = ". $rowid
"SELECT DISTINCT name,name as TestingName FROM template where tempid = ". $rowid
具有以下function:
if(isset ($_REQUEST["tempid"])) $rowid = jqGridUtils::Strip($_REQUEST["tempid"]); else $rowid = "";
如果我正确理解您的问题,请使用带有dataUrl
。 您希望拥有具有附加参数tempid
的URL,该值应该是当前所选行的rowid。
从你的问题的语法,我想你从trirand.net使用一些商业jqGrid for PHP产品。 在这种情况下你应该使用标签[jqgrid-php]。 jqGrid是纯JavaScript开源产品。 所以我回答你如何在JavaScript中添加dataUrl
参数。
jqGrid有一个ajaxSelectOptions选项,可用于修改使用dataUrl
的调用的jQuery.ajax
选项。 你可以做以下
var myGrid = $("#list"); myGrid.jqGrid({ // all your current parameters of jqGrid and then the following ajaxSelectOptions: { data: { tempid: function () { return myGrid.jqGrid('getGridParam', 'selrow'); } } } });
如果jQuery.ajax的data
参数包含方法而不是属性,则每次调用相应的jQuery.ajax
时都会调用该方法。 我在答案中使用了相同的技巧。