2012-03-31 13 views
19

मैं डेटाटेबल्स के फ़िल्टर फ़ंक्शन का उपयोग करना चाहता हूं, लेकिन इसके साथ अपने खोज बॉक्स का उपयोग नहीं करना चाहता हूं।फिल्टर डेटाटेबल.net फ़िल्टर किए बिना फ़िल्टर-बॉक्स इनपुट

In their docs bFilter के तहत यह कहते हैं:

ध्यान दें कि आप DataTables में छानने उपयोग करना चाहते हैं इस रहना चाहिए 'सही' - डिफ़ॉल्ट छानने के लिए इनपुट बॉक्स को हटाने और छानने क्षमताओं बनाए रखने के लिए, का उपयोग करें

जिसके बाद वाक्य अधूरा छोड़ दिया गया है।

मैंने कोशिश की:

var oTable = $('#sortable').dataTable({ 
    'bPaginate':false, 
    'bInfo':false, 
    'bFilter': true // displays Search box, setting false removes filter ability all together 
}); 
$('#Accumulate').click(function(){ 
    oTable.fnFilter("Accumulate"); 
}); 

उत्तर

20

तुम भी छिपाने सीएसएस वर्ग उपयोग कर रहा है

<style type="text/css"> 
.dataTables_filter { 
    display: none; 
} 
</style> 
+1

आह, सरल और त्वरित। धन्यवाद। – Pratyush

+0

हाँ, आपका स्वागत है। – Daniel

+4

एसडीओएम भी सरल और त्वरित है। ;-) और यह अन्य टेबलों के लिए सीएसएस नहीं बदलेगा जो खोज बॉक्स का उपयोग कर सकते हैं। निश्चित रूप से यहां "खट्टा अंगूर" नहीं है, लेकिन मैं ईमानदारी से महसूस करता हूं कि प्रदान किए गए टूल का उपयोग करके खोज बॉक्स को छोड़कर इसे 'छुपा' समाधान है, जिसमें इसे छुपाएं। –

12

Pratyush,

शुद्ध कॉस्मेटिक दिखा और विभिन्न UI तत्व के छिपने sDom पैरामीटर के साथ किया जाता है:

http://datatables.net/usage/options#sDom

ध्यान दें कि आवश्यक वाक्य रचना यदि आप jQuery UI का उपयोग कर रहे हैं या नहीं, इस पर निर्भर करता है।

$("#table").dataTable({"bFilter": false}); 

या किसी sDomबिना च विकल्प (:

+1

मैं सिर्फ sDom प्रलेखन को देखा है और मैं इसे से "सरल" दूर है कहेंगे। वास्तव में, यह मुझे कोई समझ नहीं आया। सीएसएस के माध्यम से छिपाना बहुत आसान और त्वरित है, यद्यपि शायद इष्टतम विधि नहीं है। – dmikester1

+0

सहमत; यह आसान नहीं है। यह मुझे अपने अनुप्रयोगों के लिए सही करने के कुछ प्रयासों से अधिक ले गया। हालांकि, मुझे लगता है कि "इसे प्राप्त करने" में निवेश किया गया समय भुगतान करता है; फिर आप सीएसएस को संशोधित करने के बजाय घटकों को संशोधित करने में सक्षम होंगे। –

12

उपयोग कर सकते हैं (संभावित ऊपर datatable आरंभीकरण कुछ गणना से बचने के रूप में गति) उपलब्ध विकल्पों की सूची के लिए आधिकारिक दस्तावेज़ http://datatables.net/usage/options#sDom देखें):

$("#table").dataTable({"sDom": '...t...'}); 
आधिकारिक समर्थन स्थल पर एक ही विकल्प के लिए

देखो: http://datatables.net/forums/discussion/289/disable-search-filter-text-box

+1

धन्यवाद यह मेरे लिए काम कर रहा है .... –

3
"sDom": 'ltipr' 

सबसे बस तरीके यह करने के लिए की है।

पूर्ण उदाहरण है कि मैं का इस्तेमाल किया है:

oTable = $('#overview').dataTable(

     { 
      "aoColumns":[ 
           null, 
           null, 
           null, 
           null, 
           null, 
           { "sSortDataType":"date-euro"}, 
           { "sSortDataType":"date-euro",}, 
           null 
       ], 
       "aaSorting":[], 
       "iDisplayLength": -1, 
       "aLengthMenu": [[5, 10, 25, 50, -1], [5, 10, 25, 50, "All"]], 
       "sDom": 'ltipr' 

     } 
     ); 
+0

हाय एंड्रयू, मैं इसे आज़माउंगा, लेकिन मैं उत्सुक हूं कि 'ltipr' क्या है, और यदि आप कुछ रंग जोड़ सकते हैं तो यह फ़िल्टरबॉक्स को कैसे छुपाता है? अग्रिम में धन्यवाद! – Poul

+0

हाय पॉल, यहां निम्नानुसार है: 'एल' - लंबाई बदलना 'एफ' - फ़िल्टरिंग इनपुट 'टी' - तालिका! 'i' - सूचना 'पी' - अंकन 'आर' - pRocessing यदि आप हमारे एफ को छोड़ देते हैं उदाहरण के लिए यह फ़िल्टर नहीं दिखाएगा –

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