Ich habe alles funktioniert von der Anleitung, ersetze es mit meinen Daten, aber es ist eine fest codierte Situation. Zum Beispiel im Tutorial, das ist, was ich arbeite, ich habe:Versuch, jqgrid für jquery zu verstehen. Wie ändere ich die URL für meinen AJAX-Anruf?
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'
});
});
Aber die URL ist hart codierte Daten zu ziehen. Das Tutorial hat:
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'
});
});
Offensichtlich werden die Daten in meinem Abfragezeichenfolgeflag ändern und ich will nicht immer die gleiche URL: http://127.0.0.1/products/index.php/mystuff/test/1/5/productname/desc
Und das Tutorial mit example.php Bedürfnissen Abfragezeichenfolgeflag Variablen, so dass es kann die richtigen Daten bekommen, aber sie zeigen nie den Teil, den ich finden kann. Wie ändere ich die Querystring? Wie sende ich Elemente dynmisch? Auch wegen des hard url der Pager-Tasten Sachen wie diese senden:
Wie kann ich nur eine URL wie/test/die richtigen Variablen? Wie kann ich die Querystring ändern?
Vielen Dank für jede Hilfe. Ich hoffe, es ist nicht zu offensichtlich. Ich fand setGridParam({url:newvalue}), aber ich habe nicht verstanden, wie man es benutzt.
Hier ist die documentation. Das Tutorial ist im ersten Teil, oben.
EDIT: Danke für die unten. Ich versuche zu sehen, wie sie das SetGridParam in ihrem Tutorial mit example.php verwenden. Sie haben einfach example.php und ich kann nicht sehen, wie sie die querystring-Variablen dort von der html-Seite zur example.php-Seite bekommen haben. setGridParam ist vielleicht der richtige Weg, um dies zu erreichen, aber es ist kein Platz in dem Beispiel, so dass ich nicht herausfinden kann, wie sie die anfänglichen Querystring-Variablen übergeben haben.
Ich weiß, dass ich das tun kann:
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()"/>
und dass das Gitter neu zu laden (Ich habe es getestet, es funktioniert), aber wie haben sie senden über Elemente im Tutorial in erster Linie? Was ist, wenn ich nicht möchte, dass eine Schaltfläche neu geladen wird, sondern nur Variablen übergibt, damit sie anfänglich geladen wird?
Haben Sie jemals eine Antwort auf diese finden? Ich habe auch so gut ausgesehen und würde gerne während eines grid-reload-Aufrufs einige zusätzliche Abfragezeichenfolgen an die URL übergeben. –
Ich frage mich, ob dies vor jQuery Aliasing mit dem $ war. – johnny