Функция jqGrid setSelect с параметризованным запросом

Я использую jqGrid, в функции edit / add. Я хочу иметь выпадающий список в одном из этих полей.

Это работает, если я использую функцию 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

ни одно из вышеперечисленных действий не было:

 if(isset ($_REQUEST["tempid"])) $rowid = jqGridUtils::Strip($_REQUEST["tempid"]); else $rowid = ""; 

Если я правильно понимаю ваш вопрос, вы используете editoptions с dataUrl . Вы хотите иметь URL-адрес с дополнительным параметром tempid значение которого должно быть rowid текущей выбранной строки.

Из синтаксиса вашего вопроса я предполагаю, что вы используете какой-то коммерческий продукт jqGrid для PHP из trirand.net . В этом случае вы должны использовать тег [jqgrid-php]. jqGrid – это чистый JavaScript с открытым исходным кодом. Поэтому я отвечаю, как вы можете добавить параметр dataUrl в JavaScript.

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 содержит метод вместо свойства, метод будет вызываться каждый раз соответствующего вызова jQuery.ajax . Я использовал тот же трюк в ответе .