2010-10-04 6 views
0

Folks, Je suis complètement nouveau à jQuery et JqGrid à la fois. Habituellement, je prends un peu de temps pour comprendre le logiciel sous-jacent avant de poser une question, mais je manque malheureusement de temps et ma question peut donc avoir une réponse simple (RTFM). Si vous pouvez donner une réponse alternative ce serait sympa :)jQuery: jqGrid - créer une table où l'on peut éditer des cellules

J'essaye de dessiner une grille simple où l'on peut éditer la cellule et l'enregistrer (en demandant dans un message à url). Je voudrais enregistrer les données de la grille résultant en javascript ou via l'URL de modification.

J'ai essayé l'exemple à http://www.trirand.com/blog/jqgrid/jqgrid.html (cliquez sur Row Editing -> Input Types) mais je ne reçois rien sur ma page et je ne reçois aucune erreur js. Tous les chemins de fichiers css et js semblent être précis.

Voici le code que j'ai essayé (je me sers jqGrid 3.8) (je regardais le fil jqgrid editoptions: required not functioning mais n'a pas pu le faire fonctionner.)


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>My First Grid</title> 

<link rel="stylesheet" type="text/css" media="screen" href="css/custom-theme/jquery-ui-1.8.5.custom.css" /> 
<link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" /> 

<style> 
html, body { 
    margin: 0; 
    padding: 0; 
    font-size: 75%; 
} 
</style> 
<script src="js/jquery-1.4.2.min.js" type="text/javascript"></script> 
<script src="js/i18n/grid.locale-en.js" type="text/javascript"></script> 
<script src="js/jquery.jqGrid.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
var lastsel2; 
jQuery("#rowed5").jqGrid({ 
datatype: "local", 
height: 250, 
    colNames:['ID Number','Name', 'Stock', 'Ship via','Notes'], 
    colModel:[ 
    {name:'id',index:'id', width:90, sorttype:"int", editable: true}, 
    {name:'name',index:'name', width:150,editable: true,editoptions:{size:"20",maxlength:"30"}}, 
    {name:'stock',index:'stock', width:60, editable: true,edittype:"checkbox",editoptions: {value:"Yes:No"}}, 
    {name:'ship',index:'ship', width:90, editable: true,edittype:"select",editoptions:{value:"FE:FedEx;IN:InTime;TN:TNT;AR:ARAMEX"}}, 
    {name:'note',index:'note', width:200, sortable:false,editable: true,edittype:"textarea", editoptions:{rows:"2",cols:"10"}} 
    ], 
onSelectRow: function(id){ 
    if(id && id!==lastsel2){ 
    jQuery('#rowed5').jqGrid('restoreRow',lastsel2); 
    jQuery('#rowed5').jqGrid('editRow',id,true); 
    lastsel2=id; 
    } 
}, 
editurl: "edit.html", 
caption: "Input Types" 

}); 
var mydata2 = [ 
    {id:"12345",name:"Desktop Computer",note:"note",stock:"Yes",ship:"FedEx"}, 
    {id:"23456",name:"Laptop",note:"Long text ",stock:"Yes",ship:"InTime"}, 
    {id:"34567",name:"LCD Monitor",note:"note3",stock:"Yes",ship:"TNT"}, 
    {id:"45678",name:"Speakers",note:"note",stock:"No",ship:"ARAMEX"}, 
    {id:"56789",name:"Laser Printer",note:"note2",stock:"Yes",ship:"FedEx"}, 
    {id:"67890",name:"Play Station",note:"note3",stock:"No", ship:"FedEx"}, 
    {id:"76543",name:"Mobile Telephone",note:"note",stock:"Yes",ship:"ARAMEX"}, 
    {id:"87654",name:"Server",note:"note2",stock:"Yes",ship:"TNT"}, 
    {id:"98765",name:"Matrix Printer",note:"note3",stock:"No", ship:"FedEx"} 
    ]; 
for(var i=0;i < mydata2.length;i++) 
jQuery("#rowed5").jqGrid('addRowData',mydata2[i].id,mydata2[i]); 


</script> 

</head> 
<body> 
<table id="rowed5"></table> 
</body> 
</html> 

Répondre

Questions connexes