2012-04-20 11 views
14

में दिखाई देने वाले फ़ॉर्म तत्व पोस्ट करना मैं एक jQuery प्लग-इन का उपयोग कर रहा हूं जिसे किसी फ़ॉर्म में मौजूद तालिका पर डेटाटेबल्स कहा जाता है, और इस तालिका में कई फॉर्म तत्व होंगे।डेटाटेबल्स

मेरे पास पृष्ठ पर एक सहेजें परिवर्तन बटन है, जो उपयोगकर्ता द्वारा दर्ज किए गए डेटाबेस के आधार पर डेटाबेस अपडेट करने के लिए AJAX अनुरोध निष्पादित करेगा।

मेरी समस्या यह है कि यह केवल फॉर्म तत्व पोस्ट करेगा जो वर्तमान में डेटाटेबल में दिखाई दे रहा है। मेरे उदाहरण में, 74 पंक्तियां हैं (सभी में कई फ़ील्ड हैं)। दिखाने के लिए रिकॉर्ड्स की डिफ़ॉल्ट राशि 10.

तो जब फ़ॉर्म सबमिट किया जाता है तो केवल 10 पंक्तियों के फॉर्म तत्व सबमिट किए जाते हैं। मैं सभी पंक्तियों के खेतों को प्रस्तुत करना था - इस मामले में सभी 74 पंक्तियों के खेतों के लायक थे।

क्या किसी के पास इसका समाधान है? धन्यवाद।

+0

क्या आप अपनी तालिका के लिए सर्वर साइड स्रोत का उपयोग कर रहे हैं? – ManseUK

+0

मैं टेबल बनाने के लिए क्लासिक एएसपी का उपयोग कर रहा हूं। –

+0

मेरा मतलब क्या है - क्या आप हर समय सर्वर से छिपी हुई पंक्तियां प्राप्त कर रहे हैं या आप पूरे टेबल को आउटपुट करते हैं और फिर आपके लिए डेटाटेबल्स पेजिनेट करते हैं? – ManseUK

उत्तर

6

डेटाटेबल्स छिपी हुई पंक्तियों को नष्ट कर देता है और उन्हें डोम से बाहर ले जाता है। यदि आपको सबमिट करने की आवश्यकता है, तो आपको सबमिट करने से पहले छिपी हुई पंक्तियों को पुनर्प्राप्त करने के लिए fnGetHiddenNodes() का उपयोग करना चाहिए। api पृष्ठों पर एक नज़र डालें

$.fn.dataTableExt.oApi.fnGetHiddenNodes = function (oSettings) 
{ 
    /* Note the use of a DataTables 'private' function thought the 'oApi' object */ 
    var anNodes = this.oApi._fnGetTrNodes(oSettings); 
    var anDisplay = $('tbody tr', oSettings.nTable); 

    /* Remove nodes which are being displayed */ 
    for (var i=0 ; i<anDisplay.length ; i++) 
    { 
     var iIndex = jQuery.inArray(anDisplay[i], anNodes); 
     if (iIndex != -1) 
     { 
      anNodes.splice(iIndex, 1); 
     } 
    } 

    /* Fire back the array to the caller */ 
    return anNodes; 
} 
+0

ग्रेट धन्यवाद के स्रोत को देख सकता हूं। दस्तावेज में इस कोड की तलाश में था, और इसे नहीं मिला। त्वरित प्रश्न 'jQuery.inArray' और '$ .inArray' के बीच क्या अंतर है? –

+1

@GarethLewis वे बिल्कुल वही बात हैं, '$' 'jQuery' –

+0

के लिए उपनाम है, अगर मैं विचार समझता हूं, तो फॉर्म सबमिट करने के लिए मुझे एनोड्स के साथ क्या करना चाहिए? मुझे किसी भी तरह से तालिका में फिर से प्रत्येक पंक्ति संलग्न करना है? – eloyesp

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