Zweryfikowałem kod, którego użyłeś i znalazłem przyczynę. Miałeś id zduplikowany problem w kodzie . Zdefiniowałeś <table> element używany dla jqGrid w następujący sposób
<table id="location"><tr><td /></tr></table>
<div id="pager-location"></div>
Ma "location" jako id . Później zdefiniowałeś
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}
],
gdzie nazwa location zostanie użyta jako nazwa kolumny. Problem polega na tym, że nazwa kolumny zostanie użyta do zbudowania id nazwa różnych elementów siatki. Ponadto edycja formularza używa nazwy kolumny bezpośrednio jako id wartość <input> pole reprezentujące lokalizację . Po użyciu Dodaj z formularza następujący element
<input name="location" class="FormElement ui-widget-content ui-corner-all" id="location" role="textbox" type="text">
istnieje na stronie z id="location" także. Jeśli użytkownik zamknie formularz, zostanie on ukryty, ale nie zniszczony. Ponieważ formularz edycji zostanie umieszczony na stronie przed <table id="location"> następny $("#location tbody:first") używane w linii
nie szukaj więcej stołu, a siatka pozostanie pusta.
To, co powinieneś zrobić, to po prostu zmienić nazwę <table id="location"> do czegoś takiego jak <table id=" grid-location">` lub wybierz inną nazwę. Należy zaktualizować odpowiedni kod JavaScript.
Inne zmiany, które należy wprowadzić w siatce:
- zmień
jsonReader: {repeatitems: true, idms_location: "idms_location" }dojsonReader: {id: "idms_location" }. - dodaj
gridview: trueopcja. - dodaj
autoencode: trueopcja. - usuń nieistniejące opcje
add:true, del:truewłaściwości zcolModel - usuń
indexwłaściwości zcolModel. - należy naprawić
Content-TypeNagłówek HTTP, którego używasz w odpowiedzi serwera z danymi JSON. Powinien to byćContent-Type: application/jsonzamiastContent-Type: text/htmlz których obecnie korzystasz. To tylko jedna linia kodu PHP. - możesz usunąć
{edit:true,add:true,del:true}opcjenavGrid- to opcje domyślne.