2012-02-06 6 views
5

मेरे पास jqGrid में एक तालिका से पंक्तियां हैं I मैं cellEdit के व्यवहार में हेरफेर करता हूं और अब इसे संपादन के लिए उपयोग करता हूं। ग्रिड में प्रवेश करने के बाद, मैं उपयोग करूंगा;jqGrid - rowId (तालिका pri कुंजी) से iRow (पंक्ति का अनुक्रमणिका) कैसे ढूंढें

$('#grid').editCell(iRow,1,false); 

बस सेल का चयन करने के लिए।

लेकिन मेरे पास केवल rowIdiRow नहीं है। मैं rowId से iRow कैसे प्राप्त कर सकता हूं?

उत्तर

6

पंक्ति (iRow) की अनुक्रमणिका आप DOM ऑब्जेक्ट की rowIndex संपत्ति का उपयोग कर सकते हैं जो थर्म पंक्ति <tr> का प्रतिनिधित्व करती है। तो आपको बस पंक्ति का डोम प्राप्त करने की आवश्यकता है। rowId किसी भी meta-characters मौजूद नही हैं तो आप कर सकते हैं बस निम्नलिखित

var iRow = $('#' + rowId)[0].rowIndex; 

अधिक आम मामला आप jqID समारोह अगर जरूरत है जो मेटा-वर्ण निकल जाता है का उपयोग कर सकते के लिए:

var iRow = $('#' + $.jgrid.jqID(rowId))[0].rowIndex; 
+0

तुम बहुत धन्यवाद बहुत ... यह काम किया। इसके अलावा यदि हमारे पास पृष्ठ में 1 से अधिक ग्रिड हैं तो हम var iRow = $ ('# gridId #' + rowId) [0] .rowIndex का उपयोग कर सकते हैं; –

+0

@ ओनूरएरेन एलिबोल: आपका स्वागत है! किसी भी तत्व की आईडी पृष्ठ पर अद्वितीय है ताकि आप '$ (' # '+ rowId) [0] .rowIndex' ग्रिड की संख्या से स्वतंत्र हो सकें। '$ ('# GridId #' + rowId) [0] .rowIndex' भी काम करेगा और एक ही परिणाम प्राप्त करेगा, लेकिन यह * धीरे-धीरे * काम करेगा। यह महत्वपूर्ण है कि पृष्ठ पर ** सभी तत्व ** अद्वितीय आईडी है। तो आप पृष्ठ पर विभिन्न ग्रिड के लिए एक ही पंक्ति का उपयोग नहीं कर सकते हैं। यदि आपके पास संघर्ष हैं तो आप ग्रिड के 'idPrefix' विकल्प का उपयोग कर सकते हैं। – Oleg

+0

जब मेरे पास 2 अलग-अलग तालिकाओं से बंधे 2 ग्रिड होते हैं, तो मेरे पास अलग-अलग ग्रिड के लिए 2 समान आईडी हो सकती है। एचटीएमएल में यह स्वीकार्य नहीं है (इस अच्छे बिंदु के लिए धन्यवाद)। मुझे लगता है कि मैं ** idPrefix ** का उपयोग करूंगा। –

संबंधित मुद्दे