Я использую 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
. Я использовал тот же трюк в ответе .