2013-01-19 7 views
8

मैं DataTables v1.9.4 एक जावास्क्रिप्ट सरणी से बसा है और मैं चेकबॉक्स स्तंभ है, जो अगर यह :checked तो पूरी पंक्ति हर 5 सेकंड अद्यतन करना चाहिए है, समस्या मैं एक बड़ी fnRowCallback समारोह जो पंक्ति के बाद अमल नहीं किया गया है वह यह है कि इस प्रकार मेरी सभी पंक्ति संरचना कोष्ठक अद्यतन करें।टेबल रीड्रा के बिना डेटाटेबल्स में एक पंक्ति को कैसे अपडेट करें?

function updateRow(){ 
    newRowData = $.data(document.body, 'updatedData'); 
    var newRow = []; 
    newRow.push(1, 1); 
    for (var title in newRowData[0]){ 
     newRow.push(newRowData[0][title]); 
    } 
    oTable.fnUpdate(newRow, updateIndex, false, true); 
}; 

और यह मेरा fnRowCallback: यहाँ मेरी अद्यतन कोड है

"fnRowCallback": function(nRow, aData, iDisplayIndex) { 
       //make 3state button and indicator for relay mask & status 
       $('td.relay', nRow).each(function(){ 
        relayStatus = $(this).text(); 
        $(this).html('<div class="hidden-value">' + relayStatus + '</div><div></div>'); 
        if(relayStatus == 1){ 
         $(this).children('div:last').addClass('relmas1'); 
        } 
        if(relayStatus == 0){ 
         $(this).children('div:last').addClass('relmas0'); 
        } 
        if(relayStatus == -1){ 
         $(this).children('div:last').addClass('relmas-1'); 
        } 
       }); 
       //makes update checkboxes 
       var clientID = $('td.clientid', nRow).text(); 
       $('td.update', nRow).html('<input type="checkbox" data-clientid="' + clientID + '" />'); 
       //makes volumes 
       var cuVol = parseInt($('td.volume', nRow).text(), 10) 
       $('td.volume', nRow).html('<div class="volume-container"><div class="volume-tmp">' + cuVol + '</div><div class="volume-slider"></div></div>') 
       $('td.volume div.volume-slider', nRow).slider({ 
        value: cuVol, 
        range: "min", 
        orientation: "horizontal", 
        slide: function(event, ui) { 
         cuVol = ui.value; 
         $(this).siblings('div.volume-tmp').text(ui.value); 
        } 
       }); 
      }, 

समस्या है: कैसे fnRowCallback के साथ एक एकल चयनित पंक्ति पुनः बनाने का बिना पूरी तालिका पुनः बनाने और रखने के अपने जाँच रेड्रा
संपादित करें:
मैंने अपना कोड दोबारा चेक किया और देखा कि मेरा कोड अपडेट किया जा रहा है c orectly लेकिन समस्या यह है कि मेरे कोड जिस तरह से यह रास्ते में नहीं ajax के माध्यम से प्राप्त किया जाता है में तालिका में लोड मैं अपने तालिका स्तंभ

उत्तर

3

आप fnUpdate उपयोग कर सकते हैं reorderd है। मूल रूप से यह पंक्ति सूचकांक द्वारा काम करता है और पंक्ति के सभी मानों डाला जाना चाहिए (2 मान दर्ज न कर सकते हैं, उदाहरण के लिए 4 स्तंभ जब)

यहाँ विधि के एपीआई के लिए एक लिंक है: jQuery DataTable fnUpdate

मुझे लगता है कि यह पंक्ति कॉलबैक ट्रिगर करता है, लेकिन इसके लिए मुझे यकीन नहीं है।

+0

tnx आपके उत्तर के उत्तर के लिए लगभग सही है और मैंने इसे लगभग 10 monthes हल किया! लेकिन यह – Homam

+0

क्षमा करें, अनुत्तरित के माध्यम से चला गया, तारीख को नहीं देखा। –

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