Ich habe den von Ihnen verwendeten Code überprüft und den Grund gefunden. Du hattest id doppeltes Problem in Ihrem Code . Sie haben <table> definiert Element, das für jqGrid wie folgt verwendet wird
<table id="location"><tr><td /></tr></table>
<div id="pager-location"></div>
Es hat "location" als id . Später haben Sie
colModel: [
{name:'idms_location',index:'idms_location', width:150, editable:true,add:true, del:true, key:true},
{name:'location',index:'location', width:800,editable:true, add:true, del:true}
],
wobei der Name location wird als Spaltenname verwendet. Das Problem ist, dass der Spaltenname verwendet wird, um id zu erstellen Name verschiedener Elemente des Rasters. Außerdem verwendet die Formularbearbeitung den Spaltennamen direkt als id Wert von <input> Feld, das den Standort darstellt . Nach Verwendung von Add bildet das folgende Element
<input name="location" class="FormElement ui-widget-content ui-corner-all" id="location" role="textbox" type="text">
existiert auf der Seite mit id="location" zu. Wenn der Benutzer das Formular schließt, wird es ausgeblendet, aber nicht zerstört. Denn das Bearbeitungsformular wird auf der Seite vorher platziert <table id="location"> das nächste $("#location tbody:first") verwendet in der Linie
Finde die Tabelle nicht mehr und das Grid bleibt leer.
Was Sie tun sollten, ist einfach <table id="location"> umzubenennen zu etwas wie <table id=" grid-location">` oder wählen Sie einen anderen Namen. Sie sollten den entsprechenden JavaScript-Code aktualisieren.
Weitere Änderungen, die im Grid vorgenommen werden sollten:
- ändere
jsonReader: {repeatitems: true, idms_location: "idms_location" }zujsonReader: {id: "idms_location" }. - füge
gridview: trueMöglichkeit. - add
autoencode: trueMöglichkeit. - nicht vorhandene Optionen entfernen
add:true, del:trueEigenschaften auscolModel indexentfernen Eigenschaften auscolModel.- Sie sollten
Content-Typekorrigieren HTTP-Header, den Sie in der Serverantwort mit JSON-Daten verwenden. Es sollteContent-Type: application/jsonsein stattContent-Type: text/htmldie Sie derzeit verwenden. Es ist nur eine Zeile PHP-Code. - Sie können
{edit:true,add:true,del:true}entfernen Optionen vonnavGrid- Es sind die Standardoptionen.