2012-11-21 7 views
5

मैं एक वेब ऐप के लिए एक खरीदा गया व्यवस्थापक थीम का उपयोग कर रहा हूं जिसे मैं बना रहा हूं। वह विषय jQuery डेटाटेबल्स के लिए शैलियों के साथ आया था। मैं प्रति पृष्ठ रिकॉर्ड्स के लिए एक दृश्य ऑल रिकॉर्ड्स विकल्प को जोड़ने का तरीका जानने का प्रयास कर रहा हूं, लेकिन थीम को प्रतिष्ठित किया गया है क्योंकि बहुत सारे कोड पहले ही लिखे गए हैं और मुझे नहीं पता कि मुझे क्या जोड़ना है ।jQuery डेटाटेबल्स सभी रिकॉर्ड्स को एक विकल्प के रूप में प्रदर्शित करता है

पाद कोड::

<!-- jQuery DataTable --> 
    <script src="<?php echo base_url(); ?>assets/js/plugins/dataTables/jquery.datatables.min.js"></script> 
    <script> 
     /* Default class modification */ 
     $.extend($.fn.dataTableExt.oStdClasses, { 
      "sWrapper": "dataTables_wrapper form-inline" 
     }); 

     /* API method to get paging information */ 
     $.fn.dataTableExt.oApi.fnPagingInfo = function (oSettings) 
     { 
      return { 
       "iStart":   oSettings._iDisplayStart, 
       "iEnd":   oSettings.fnDisplayEnd(), 
       "iLength":  oSettings._iDisplayLength, 
       "iTotal":   oSettings.fnRecordsTotal(), 
       "iFilteredTotal": oSettings.fnRecordsDisplay(), 
       "iPage":   Math.ceil(oSettings._iDisplayStart/oSettings._iDisplayLength), 
       "iTotalPages": Math.ceil(oSettings.fnRecordsDisplay()/oSettings._iDisplayLength) 
      }; 
     } 

     /* Bootstrap style pagination control */ 
     $.extend($.fn.dataTableExt.oPagination, { 
      "bootstrap": { 
       "fnInit": function(oSettings, nPaging, fnDraw) { 
        var oLang = oSettings.oLanguage.oPaginate; 
        var fnClickHandler = function (e) { 
         e.preventDefault(); 
         if (oSettings.oApi._fnPageChange(oSettings, e.data.action)) { 
          fnDraw(oSettings); 
         } 
        }; 

        $(nPaging).addClass('pagination').append(
         '<ul>'+ 
          '<li class="prev btn-small disabled"><a href="#"><span class="awe-caret-left"></span> '+oLang.sPrevious+'</a></li>'+ 
          '<li class="next btn-small disabled"><a href="#">'+oLang.sNext+' <span class="awe-caret-right"></span></a></li>'+ 
         '</ul>' 
        ); 
        var els = $('a', nPaging); 
        $(els[0]).bind('click.DT', { action: "previous" }, fnClickHandler); 
        $(els[1]).bind('click.DT', { action: "next" }, fnClickHandler); 
       }, 

       "fnUpdate": function (oSettings, fnDraw) { 
        var iListLength = 0; 
        var oPaging = oSettings.oInstance.fnPagingInfo(); 
        var an = oSettings.aanFeatures.p; 
        var i, j, sClass, iStart, iEnd, iHalf=Math.floor(iListLength/2); 

        if (oPaging.iTotalPages < iListLength) { 
         iStart = 1; 
         iEnd = oPaging.iTotalPages; 
        } 
        else if (oPaging.iPage <= iHalf) { 
         iStart = 1; 
         iEnd = iListLength; 
        } else if (oPaging.iPage >= (oPaging.iTotalPages-iHalf)) { 
         iStart = oPaging.iTotalPages - iListLength + 1; 
         iEnd = oPaging.iTotalPages; 
        } else { 
         iStart = oPaging.iPage - iHalf + 1; 
         iEnd = iStart + iListLength - 1; 
        } 

        for (i=0, iLen=an.length ; i<iLen ; i++) { 

         // Add/remove disabled classes from the static elements 
         if (oPaging.iPage === 0) { 
          $('li:first', an[i]).addClass('disabled'); 
         } else { 
          $('li:first', an[i]).removeClass('disabled'); 
         } 

         if (oPaging.iPage === oPaging.iTotalPages-1 || oPaging.iTotalPages === 0) { 
          $('li:last', an[i]).addClass('disabled'); 
         } else { 
          $('li:last', an[i]).removeClass('disabled'); 
         } 
        } 
       } 
      } 
     }); 

    </script> 

क्या मैं (मुझे लगता है, एक और स्टैक ओवरफ़्लो प्रश्न के आधार पर) जोड़ना चाहते हैं: यहाँ मैं क्या है

oTable = $('#example').dataTable({ "aLengthMenu": [ 
     [25, 50, 100, 200, -1], 
     [25, 50, 100, 200, "All"] 
    ], 


"iDisplayLength" : -1 }); 
+0

मैं वास्तविक डेटाटेबल्स.जेएस फ़ाइल में जाने और परिवर्तन करने में सक्षम था, हालांकि यह स्पष्ट रूप से आदर्श तरीका नहीं है क्योंकि मैं स्क्रिप्ट को अपग्रेड करने पर अपना परिवर्तन खो देता हूं। –

उत्तर

4

अपने oTable के बाद से है आपके DataTable उदाहरण, कोशिश:

var oSettings = oTable.fnSettings(); 
oSettings._iDisplayLength = 500; 
oTable.fnDraw(); 

आप के लिए एक onClick में इस डाल सकते हैं ओ:

var oSettings = oTable.fnSettings(); 

$('.changeLength').click(function(e){ 
    oSettings._iDisplayLength = 500; 
    oTable.fnDraw(); 
}); 

इस तरह जब आप बटन पर क्लिक करते हैं तो यह तालिका की लंबाई बदलता है।

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