Ik heb de code die je hebt gebruikt geverifieerd en de reden gevonden. U had id duplicaatprobleem in uw code . Je hebt <table> gedefinieerd element gebruikt voor jqGrid als volgt
<table id="location"><tr><td /></tr></table>
<div id="pager-location"></div>
Het heeft "location" als de id . Later definieerde je
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}
],
waar de naam location wordt gebruikt als de kolomnaam. Het probleem is dat de kolomnaam zal worden gebruikt om id te bouwen naam van verschillende elementen van het raster. Bovendien gebruikt de formulierbewerking de kolomnaam direct als id waarde van de <input> veld dat de locatie vertegenwoordigt . Na gebruik van Add formulier het volgende element
<input name="location" class="FormElement ui-widget-content ui-corner-all" id="location" role="textbox" type="text">
bestaat op de pagina met id="location" te. Als de gebruiker het formulier sluit, wordt het verborgen, maar niet vernietigd. Omdat het bewerkingsformulier op de pagina wordt geplaatst voor <table id="location"> de volgende $("#location tbody:first") gebruikt in de regel
vind de tafel niet meer en het raster blijft leeg.
Wat u moet doen, is gewoon <table id="location"> hernoemen naar iets als <table id=" grid-location">` of kies een andere naam. U moet de corresponderende JavaScript-code bijwerken.
Andere wijzigingen die in het raster moeten worden gedaan:
- wijzig
jsonReader: {repeatitems: true, idms_location: "idms_location" }naarjsonReader: {id: "idms_location" }. - voeg
gridview: trueoptie. - voeg
autoencode: trueoptie. - verwijder niet-bestaande opties
add:true, del:trueeigenschappen vancolModel - verwijder
indexeigenschappen vancolModel. - u moet
Content-Typerepareren HTTP-header die u gebruikt in de serverreactie met JSON-gegevens. Het moetContent-Type: application/json. zijn in plaats vanContent-Type: text/htmldie u momenteel gebruikt. Het is maar één regel PHP-code. - je kunt
{edit:true,add:true,del:true}verwijderen opties vannavGrid- het zijn standaardopties.