मैंने आपके द्वारा उपयोग किए गए कोड को सत्यापित किया और कारण पाया। आपके पास 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> . का मान फ़ील्ड जो स्थान का प्रतिनिधित्व करती है . ऐड फॉर्म के उपयोग के बाद निम्नलिखित तत्व
<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=" ग्रिड-स्थान">` या कोई अन्य नाम चुनें। आपको संबंधित जावास्क्रिप्ट कोड को अपडेट करना चाहिए।
अन्य परिवर्तन जो ग्रिड में किए जाने चाहिए:
- बदलें
jsonReader: {repeatitems: true, idms_location: "idms_location" }सेjsonReader: {id: "idms_location" }। gridview: trueविकल्प।autoencode: trueविकल्प।- गैर-मौजूदा विकल्प हटाएं
add:true, del:truecolModel. से गुण indexहटाएंcolModel. से गुण ।- आपको
Content-Typeठीक करना चाहिए HTTP शीर्षलेख जिसे आप JSON डेटा के साथ सर्वर प्रतिक्रिया में उपयोग करते हैं। यहContent-Type: application/json. होना चाहिएContent-Type: text/html. के बजाय जिसका आप वर्तमान में उपयोग करते हैं। यह PHP कोड की सिर्फ एक लाइन है। - आप
{edit:true,add:true,del:true}को हटा सकते हैंnavGrid. के विकल्प - यह डिफ़ॉल्ट विकल्प है।