2013-02-14 56 views
10

मैं jQuery के लिए नया हूं और मुझे यह जानने की ज़रूरत है कि मेरे jQuery डेटाटेबल में कॉलम में से किसी एक के लिए फ़िल्टरिंग अक्षम करने का कोई तरीका है या नहीं? मेरे डेटाटेबल में 5 कॉलम हैं और मुझे अंतिम कॉलम के लिए फ़िल्टरिंग अक्षम करने की आवश्यकता है।एक कॉलम पर फ़िल्टरिंग को अक्षम कैसे करें और इसे jQuery Datatable में अन्य कॉलम के लिए रखें?

+0

मैं डेटाटेबल खोजने के लिए डिफ़ॉल्ट bfilter का उपयोग करता हूं लेकिन मैं नहीं चाहता कि फ़िल्टर केवल अंतिम कॉलम में ही खोजे। – DhawalV

उत्तर

21

Use the bSearchable flag। डॉक्स से:

// Using aoColumnDefs 
$(document).ready(function() { 
    $('#example').dataTable({ 
    "aoColumnDefs": [ 
     { "bSearchable": false, "aTargets": [ 0 ] } 
    ] }); 
}); 


// Using aoColumns 
$(document).ready(function() { 
    $('#example').dataTable({ 
    "aoColumns": [ 
     { "bSearchable": false }, 
     null, 
     null, 
     null, 
     null 
    ] }); 
}); 
+0

डेटा के नए संस्करण (1.10+) में, आप तालिका प्रारंभ करने पर कॉलम के लिए 'खोज योग्य ": झूठा' ध्वज का उपयोग कर सकते हैं। –

+0

खोजने योग्य का पूरा वाक्यविन्यास क्या है? – fatuhoku

+0

@fatuhoku https://datatables.net/reference/option/columns.searchable – Blazemonger

2
var mSortingString = []; 
var disableSortingColumn = 4; 
mSortingString.push({ "bSortable": false, "aTargets": [disableSortingColumn] }); 



    $(document).ready(function() { 
     var table = $('#table').dataTable({ 
      "paging": false, 
      "ordering": true, 
      "info": false, 
      "aaSorting": [], 
      "orderMulti": true, 
      "aoColumnDefs": mSortingString 

     }); 
    }); 

मैं उम्र के जो कोई सरल कार्य किया जाना चाहिए था यह पता लगाने की कोशिश कर खर्च किया तो अब भी शीर्ष 3 लाइनों और संदर्भ जो स्तंभ आप अक्षम करना चाहते में जोड़ने के लिए देख किसी के लिए, मेरा कॉलम 5.

1

यह भी काम करता है। बस अपने वांछित स्तंभ संख्या को 4 नंबर बदलने के लिए:

var table = $('#mytable').DataTable(
     { 
      initComplete: function() { 
       this.api().columns().every(function() { 
        var column = this; 
        if (column[0][0] == 4) { 
         console.log(column); 
         $(column.footer()).html(''); 
        } 
       }); 
      }, 
     } 
    ); 
2

इसके अलावा, आप इसे इस तरह कर सकते हैं:

$('#ProductsTable').dataTable({ 
     "lengthMenu": [[20, 50, -1], [20, 50, "All"]], 
     "pageLength": 20, 
     "columnDefs": [ 
      { "orderable": false, "targets": [-1, 1] }, 
      { "searchable": false, "targets": [-1, 1] } 
     ] 
    }); 
1

यहाँ एकाधिक स्तंभों Datatable ColumnDef के प्रयोग पर वैश्विक खोज छानने ऐसे अक्षम करें।

var datatable = $('#datatable').DataTable({ 
    "deferRender": true, 

    "columnDefs": [ 
     { targets: 0, searchable: true }, 
     { targets: [1,2], searchable: true }, 
     { targets: '_all', searchable: false } 
    ] 
}); 

यह कॉलम 0 पर खोज सक्षम हो जाएगा, 1 & 2 सूचकांक बुद्धिमान और उन सब के बाकी पर अक्षम करें। नियम शीर्ष से नीचे प्राथमिकता लेने के लिए लागू होते हैं।