Проверих кода, който сте използвали и намерих причината. Имахте id
дублиран проблем във вашия код . Дефинирахте <table>
елемент, използван за jqGrid, както следва
<table id="location"><tr><td /></tr></table>
<div id="pager-location"></div>
Има "location"
като id
. По-късно дефинирахте
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}
],
където името location
ще се използва като име на колоната. Проблемът е, че името на колоната ще се използва за изграждане на id
име на различни елементи от мрежата. Освен това редактирането на формуляра използва директно името на колоната като id
стойност на <input>
поле, което представлява местоположение . След използване на Add формира следния елемент
<input name="location" class="FormElement ui-widget-content ui-corner-all" id="location" role="textbox" type="text">
съществува на страницата с id="location"
също. Ако потребителят затвори формуляра, той ще бъде скрит, но не и унищожен. Тъй като формулярът за редактиране ще бъде поставен на страницата преди <table id="location">
следващият $("#location tbody:first")
използва се в реда
не намирайте повече таблицата и мрежата остава празна.
Това, което трябва да направите, е просто да преименувате <table id="location">
към нещо като <table id="
grid-location">` или изберете друго име. Трябва да актуализирате съответния JavaScript код.
Други промени, които трябва да се направят в решетката:
- променете
jsonReader: {repeatitems: true, idms_location: "idms_location" }
къмjsonReader: {id: "idms_location" }
. - добавете
gridview: true
опция. - добавете
autoencode: true
опция. - премахване на несъществуващи опции
add:true, del:true
свойства отcolModel
- премахнете
index
свойства отcolModel
. - трябва да коригирате
Content-Type
HTTP заглавка, която използвате в отговора на сървъра с JSON данни. Трябва да бъдеContent-Type: application/json
вместоContent-Type: text/html
които използвате в момента. Това е само един ред от PHP код. - можете да премахнете
{edit:true,add:true,del:true}
опции наnavGrid
- това са опциите по подразбиране.