我正在使用jqGrid,在编辑/添加功能上我希望在其中一个字段中有一个下拉列表。
如果我使用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
以上没有一项工作有:
if(isset ($_REQUEST["tempid"]))
$rowid = jqGridUtils::Strip($_REQUEST["tempid"]);
else
$rowid = "";
答案 0 :(得分:4)
如果我正确理解您的问题,请将editoptions与dataUrl
一起使用。您希望具有附加参数tempid
的URL,该值应该是当前所选行的rowid。
从你的问题的语法,我想你使用trirand.net的一些商业jqGrid for PHP产品。在这种情况下你应该使用标签[jqgrid-php]。 jqGrid是纯JavaScript开源产品。所以我回答你如何在JavaScript中添加dataUrl
参数。
jqGrid具有ajaxSelectOptions选项,可用于修改使用jQuery.ajax
的呼叫的dataUrl
选项。您可以执行以下操作
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
时都会调用该方法。我在the answer中使用了相同的技巧。