Essayer de comprendre jqgrid pour jquery. Comment changer l'URL de mon appel AJAX?
J'ai tout qui fonctionne à partir du tutoriel, en le remplaçant avec mes données, mais il est codé en dur de la situation. Par exemple, dans le tutoriel, qui est ce que j'ai à travailler, j'ai:
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'
});
});
Mais l'url est codé en dur pour extraire les données. Le tutoriel a:
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'
});
});
Évidemment, les données dans mon querystring va changer et je ne veux toujours la même url: http://127.0.0.1/products/index.php/mystuff/test/1/5/productname/desc
Et, le tutoriel avec example.php les besoins de la chaîne de recherche les variables de sorte qu'il peut obtenir les bonnes données, mais jamais ils ne montrent que la partie que je peux trouver. Alors, comment puis-je changer la chaîne de requête? Comment puis-je envoyer des éléments dynmically? Aussi, le pager boutons envoyer des trucs comme ça parce que de le coder en dur l'adresse url:
Comment puis-je avoir une url du type /test/le droit des variables? Comment puis-je changer la chaîne de requête?
Merci pour toute aide. J'espère que c'est pas trop évident. J'ai trouvé setGridParam({url:newvalue}) mais ne comprend pas comment l'utiliser.
Ici est la la documentation. Le tutoriel est à la première partie, en haut.
EDIT: Merci pour le ci-dessous. Je suis en train de voir comment ils utilisent le setGridParam dans leur tutoriel avec example.php. Ils n'ont tout simplement example.php et je ne vois pas comment ils sont arrivés le querystring variables à partir de la page html à l'example.php page. setGridParam peut être la bonne façon d'accomplir cela, mais c'est pas le cas dans l'exemple donc je ne peux pas comprendre comment ils ont passé la première querystring variables.
Je sais que je peux le faire:
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()"/>
et qui permettra de recharger la grille (je l'ai testé, il fonctionne), mais comment ont-ils envoyer les éléments dans le tutoriel en premier lieu? Que faire si je ne veux pas un bouton pour recharger, mais il suffit de passer dans les variables d'abord charger?
source d'informationauteur johnny
Vous devez vous connecter pour publier un commentaire.
Après avoir créé votre grille, vous pouvez créer une url, puis spécifier ce et de déclencher la grille pour recharger.
Vous pouvez essayer ceci:
Supposons que vous avez écrit un jqgrid code js dans une fonction js.
Donc, dans cette méthode passer votre url dynamiquement dans une variable urlGetLst
Dans jqgrid code, nous devons préciser certains attributs:
Avec cette option, il sera à chaque fois donner un appel à url spécifiée et d'actualisation de la jqgrid avec de nouvelles données.
Et avant l'appel de jqgrid la fonction de charge avec url appel/exécuter le code ci-dessous