Eu verifiquei o código que você usou e encontrei o motivo. Você tinha
id problema duplicado em seu código . Você definiu <table> elemento usado para jqGrid da seguinte forma <table id="location"><tr><td /></tr></table>
<div id="pager-location"></div>
Tem
"location" como o id . Mais tarde você definiu 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}
],
onde o nome
location será usado como o nome da coluna. O problema é que o nome da coluna será usado para construir id nome de diferentes elementos da grade. Além disso, a edição do formulário usa o nome da coluna direto como id valor do <input> campo que representa a localização . Após o uso de Add form o seguinte elemento <input name="location" class="FormElement ui-widget-content ui-corner-all" id="location" role="textbox" type="text">
existe na página com
id="location" também. Se o usuário fechar o formulário, ele ficará oculto, mas não será destruído. Porque o formulário de edição será colocado na página antes <table id="location"> o próximo $("#location tbody:first") usado na na linha
não encontre mais a mesa e a grade fique vazia. O que você deve fazer é renomear
<table id="location"> para algo como <table id=" grid-location">` ou escolha qualquer outro nome. Você deve atualizar o código JavaScript correspondente. Outras alterações que devem ser feitas na grade:
- alterar
jsonReader: {repeatitems: true, idms_location: "idms_location" }parajsonReader: {id: "idms_location" }. - adicione
gridview: trueopção. - adicione
autoencode: trueopção. - remover opções inexistentes
add:true, del:truepropriedades decolModel - remover
indexpropriedades decolModel. - você deve corrigir
Content-TypeCabeçalho HTTP que você usa na resposta do servidor com dados JSON. Deve serContent-Type: application/jsonem vez deContent-Type: text/htmlque você usa atualmente. É apenas uma linha de código PHP. - você pode remover
{edit:true,add:true,del:true}opções denavGrid- são as opções padrão.