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: true
optie. - voeg
autoencode: true
optie. - verwijder niet-bestaande opties
add:true, del:true
eigenschappen vancolModel
- verwijder
index
eigenschappen vancolModel
. - u moet
Content-Type
repareren HTTP-header die u gebruikt in de serverreactie met JSON-gegevens. Het moetContent-Type: application/json
. zijn in plaats vanContent-Type: text/html
die u momenteel gebruikt. Het is maar één regel PHP-code. - je kunt
{edit:true,add:true,del:true}
verwijderen opties vannavGrid
- het zijn standaardopties.