2009-08-26 6 views
1

J'ai un jqgrid et un formulaire. Lorsque la grille est actualisée, j'essaie d'envoyer les valeurs du formulaire au gestionnaire côté serveur. Pour tester, j'utilise juste une variable dans le formulaire. Firebug montre que jqgrid passe le nom du champ, mais la valeur est toujours nulle indépendamment de ce qui est sélectionné.jqgrid userData publication null à l'actualisation

Selon les docs les jqGrid, je devrais la manipulation de ce en utilisant la variable postData:

postData: {POINIT:. JQuery ('# POINIT') val()}

J'ai également testé ceci pour s'assurer que l'appel de jQuery pour obtenir la valeur fonctionne sur d'autres parties de la page - mais pas quand la grille est rafraîchie.

Voici le code correspondant:

jQuery(document).ready(funcion(){ 
    jQuery("#list").jqGrid({ 
    url:'poquery.php', 
    datatype: 'json', 
    mtype: 'POST', 
    colNames:['PO Number ','Date','Vendor','Dept','Buyer','Terms'], 
    colModel :[ 
     {name:'PONUMB', index:'PONUMB', width:65}, 
     {name:'PODATE', index:'PODATE', width:70}, 
     {name:'POVEND', index:'POVEND', width:70}, 
     {name:'POIDPT', index:'POIDPT', width:70}, 
     {name:'POINIT', index:'POINIT', width:70}, 
     {name:'TERMS', index:'TERMS', width:70}, 
    ], 
postData: {POINIT : jQuery('#POINIT').val()}, 
    pager: '#pager', 
    rowNum:10, 
    rowList:[10,20,30], 
    sortname: 'PONUMB', 
    sortorder: 'desc', 
    viewrecords: true, 
    caption: 'Purchase orders' 
    }).navGrid('#gridpager',{view:false,edit:false,add:false, del:false}, 
{}, // use default settings for edit 
{}, // use default settings for add 
{}, // delete instead that del:false we need this 
{multipleSearch : true}, // enable the advanced searching 
{closeOnEscape:true} 
); 

}); 

Toute aide serait grandement appréciée. .

+0

Cela fonctionne pour moi, donc je suppose que vous ne définissez pas ce que vous pensez être dans l'initialisation de la grille ou vous l'écrasez. Je n'ai jamais vu les post-données échouer, et je l'ai défini comme vous le faites ci-dessus. Déboguer le résultat val()! –

Répondre

7

Je suis bien en retard avec cette réponse, mais l'astuce est d'utiliser une fonction:

postData: {POINIT: function() {return $ ('# de POINIT') val(); }}

+0

J'ai eu le même problème et cela l'a réparé. Merci! – Rismo