Ich habe ein JQGrid und ich zeige ein Dropdown in einer Spalte an, wenn die Zeile für die Inline-Bearbeitung geöffnet wird. Dieses Dropdown-Menü zeigt bereits verfügbare Listenelemente aus der Datenbank an. Wenn ich das Raster vom clientArray speichere, werden die aktualisierten Daten in der Datenbank gespeichert.So zeigen Sie Dropdown mit Option zum Hinzufügen von Element in JQgrid an
Jetzt brauche ich eine Option, um ein neues Element in diesem Dropdown hinzuzufügen und dieses Element in der Datenbank hinzuzufügen, damit das neue Element verfügbar ist, wenn das nächste Mal Benutzer in das Dropdownfeld schaut.
Könnte jemand bitte helfen herauszufinden, wenn es eine Option gibt, um das Dropdown mit Eingabetextbox zu machen, so dass ein neues Element in der Dropdown-Liste zur Laufzeit hinzugefügt werden kann.
Unten ist der Beispielcode, den ich verwende, um das Dropdown anzuzeigen.
mygrid = jQuery("#list").jqGrid({
url:url,
datatype: "json",
height: 'auto',
width: winW,
colNames:['id','cusipNo','Account No.','Account Type','Location Memo','Account Coding'],
colModel:[
{name:'Id',index:'stockRecordId',hidden:true,key: true,search: false},
{name:'cusipNo',index:'cusipNo',hidden:true},
{name:'accountNo',index:'accountNo',sortable:true,search: false, align: 'left',editable: true, width: 90, editrules:{custom: true, custom_func: validateAccountNo }},
{name:'accountType',index:'accountType',sortable:true,search: false, align: 'center',editable: true, width: 100},
{name:'locationMemo',index:'locationMemo',sortable:true,search: false, align: 'center',editable: true, width: 110},
{name:'accountCoding',index:'accountCoding',sortable:true,search: false, align: 'left',editable: true, width: 370, edittype: 'select',
editoptions: { dataUrl: accCodingUrl ,
buildSelect: function (data) {
var sel = '<select>';
$.each(JSON.parse(data),function(i,accountCoding){
sel += '<option value="'+accountCoding.key+'">'+accountCoding.value+'</option>';
});
return sel + "</select>";
}
}
}],
cmTemplate: {editable: true},
multiselect: false,
paging: true,
loadonce:true,
sortname: 'Id',
rowList: [],
rowNum:-1,
pager: $("#page"),
viewrecords: false,
pgbuttons: false,
pgtext: null,
Dank Blindsyde für die Antwort, versuchte ich mit Ihrer Lösung. Ich bin sehr neu in JQGrid, aber soweit ich es verstehe, seit ich _EditType: select_ deklariert habe, erstellt JqGrid standardmäßig ein Auswahlfeld und lässt keine Datenliste erstellen. – Rahul
@Rahul Ich baute auf eine Geige, mit der ich vorher gearbeitet habe, um zu zeigen, wie man den Datalist hinzufügt. Bitte siehe Geige unter dem aktualisierten Abschnitt. – Blindsyde