Ich denke, dass das, was Sie wollen, ziemlich leicht zu erreichen sein sollte. Ich habe Ihnen eine schnelle Copy-Paste / Steal-together Demopage.
Wenn Sie auf die Spalte Datum klicken, erhalten Sie eine Kalenderauswahl.
Wenn Sie auf die Spalte Kunde klicken und den Inhalt löschen, sehen Sie einen Autocompleter (css passt nicht zu quickpastewhatever), der amerikanische Städte auflistet (ich weiß, dass Städte keine Kundennamen sind, das war nur ein Beispiel).
Code entnommen aus jqGrid Cell Editing Demo-Seite + jQuery Autocomplete Demo-Seite
http://jsbin.com/owatu (anhängen /edit
zur Url, um den Code zu sehen)
Natürlich ist die Demo noch ein wenig unfertig
- css-Probleme
- schneller Hack in afterSaveCell eingefügt, um jQgrid dazu zu bringen, den ausgewählten Wert aus dem Autocompleter einzufügen, wenn der Benutzer Pfeiltasten+Eingabetaste mit der Maus benutzt, funktioniert es ohne Hack
Ich denke, der afterSaveCell-Hack könnte entfernt werden, wenn Autocomplete und jqGrid sauber miteinander integriert werden.
Im Grunde genommen läuft es auf Folgendes hinaus
jQuery("#celltbl").jqGrid({
...
{name:'name', width:100, editable:true}, //e.g.
...
afterEditCell: function (id,name,val,iRow,iCol) {
if(name=='name') {
//cities here is local json object
jQuery("#"+iRow+"_name","#celltbl").autocomplete(cities);
}
},
afterSaveCell : function(rowid,name,val,iRow,iCol) {
if(name == 'name') {
jQuery("#celltbl").jqGrid('setRowData',rowid,{name:jQuery(".ac_over").text()});
jQuery(".ac_results").remove();
}
}
...