使用したコードを確認し、理由を見つけました。 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:truecolModelのプロパティ indexを削除しますcolModelのプロパティ 。-
Content-Typeを修正する必要があります JSONデータを使用したサーバー応答で使用するHTTPヘッダー。Content-Type: application/jsonである必要がありますContent-Type: text/htmlの代わりに 現在使用しているものです。これは1行のPHPコードです。 -
{edit:true,add:true,del:true}を削除できますnavGridのオプション -デフォルトのオプションです。