У меня все работает из учебника, заменяя его моими данными, но это жестко запрограммированная ситуация. Например, в уроке, над которым я работаю, у меня есть:
jQuery(document).ready(function(){
jQuery("#list").jqGrid({
url:'http://127.0.0.1/products/index.php/mystuff/test/1/5/productname/desc',
datatype: 'xml',
mtype: 'GET',
colNames:['ProductID','title', 'description','price','tax','notes'],
colModel :[
{name:'invid', index:'invid', width:55},
{name:'invdate', index:'invdate', width:90},
{name:'amount', index:'amount', width:80, align:'right'},
{name:'tax', index:'tax', width:80, align:'right'},
{name:'total', index:'total', width:80, align:'right'},
{name:'note', index:'note', width:150, sortable:false} ],
pager: jQuery('#pager'),
rowNum:10,
rowList:[10,20,30],
sortname: 'title',
sortorder: "desc",
viewrecords: true,
imgpath: 'http://127.0.0.1/products/public/themes/basic/images',
caption: 'Product List'
});
});
Но URL-адрес жестко запрограммирован для получения данных. Учебник имеет:
jQuery(document).ready(function(){
jQuery("#list").jqGrid({
url:'example.php',
datatype: 'xml',
mtype: 'GET',
colNames:['Inv No','Date', 'Amount','Tax','Total','Notes'],
colModel :[
{name:'invid', index:'invid', width:55},
{name:'invdate', index:'invdate', width:90},
{name:'amount', index:'amount', width:80, align:'right'},
{name:'tax', index:'tax', width:80, align:'right'},
{name:'total', index:'total', width:80, align:'right'},
{name:'note', index:'note', width:150, sortable:false} ],
pager: jQuery('#pager'),
rowNum:10,
rowList:[10,20,30],
sortname: 'id',
sortorder: "desc",
viewrecords: true,
imgpath: 'themes/basic/images',
caption: 'My first grid'
});
});
Очевидно, что данные в моей строке запроса изменятся, и я не всегда буду нуждаться в том же URL: http://127.0.0.1/products/index.php/mystuff/test/1/5/productname/desc
И учебник с example.php нуждается в переменных строки запроса, чтобы он мог получить правильные данные, но они никогда не показывают ту часть, которую я могу найти. Так как мне изменить строку запроса? Как я могу отправлять товары динмически? Кроме того, кнопки пейджера отправляют такие вещи из-за жесткого кода URL:
http://127.0.0.1/products/index.php/mystuff/test/1/5/productname/desc?page=2&rows=10&sidx=productname&sord=desc&nd=1248988261293&_search=false
Как я могу просто получить URL-адрес типа / test / правильных переменных? Как я могу изменить строку запроса?
Спасибо за любую помощь. Надеюсь, это не слишком очевидно. Я нашел setGridParam ({url: newvalue}) , но не понял, как его использовать.
Вот документация . Учебник находится в первой части, вверху.
РЕДАКТИРОВАТЬ: Спасибо за ниже. Я пытаюсь увидеть, как они используют setGridParam в своем уроке с example.php. У них просто есть example.php, и я не вижу, как они получили переменные строки запроса со страницы html на страницу example.php. setGridParam может быть правильным способом для достижения этой цели, но это не так, как в примере, поэтому я не могу понять, как они передали исходные переменные строки запроса.
Я знаю, что могу сделать это:
function gridSearch()
{
$("#list").setGridParam(
{
url:"http://127.0.0.1/products/index.php/mystuff/test/1/5/productname/desc",
page:1
}
).trigger("reloadGrid");//Reload grid trigger
return false
}
<input id="sData" class="EditButton" type="submit" value="Search" onClick="return gridSearch()"/>
и что это перезагрузит сетку (я проверял это; это работает), но как они отправляли элементы в учебнике в первую очередь? Что если я не хочу перезагрузить кнопку, а просто передам переменные для первоначальной загрузки?