2016-02-20 12 views
5

की संपत्ति 'बटन' नहीं पढ़ सकता है मुझे बटनों प्लगइन का उपयोग करने वाले कस्टम डेटाटेबल सेट करने में समस्या हो रही है।डेटाटेबल्स: अनकॉटेड टाइपरर: अपरिभाषित

मैं एक custom defaultdom लेआउट कि काम करता है स्थापित कर सकते हैं:

//vanilla dom (frtip...) 
$.extend($.fn.dataTable.defaults, { 
    dom: 'frtip' 
}); 

लेकिन अगर मैं include the "B" character in the dom layout करने की कोशिश:

// Invoke Buttons plugin (Bfrtip...) 
$.extend($.fn.dataTable.defaults, { 
    dom: 'Bfrtip' 
}); 

... तो DataTables चलाने के लिए, इस JavaScript त्रुटि रिपोर्ट किया गया है:

Uncaught TypeError: Cannot read property 'buttons' of undefined

मैं क्या गलत कर रहा हूं?

कृपया see an example of this at https://jsfiddle.net/jhfrench/at83rcoL/

उत्तर

10

मैं यह पता लगा है, जबकि इस सवाल का मसौदा तैयार करने। हार्ड-जीता उत्तर यहां साझा करना:

प्रासंगिक जेएस संपत्तियों (jquery.dataTables.min.js, dataTables.buttons.min.js, आदि) को शामिल करने के लिए पर्याप्त नहीं है। आप भी या तो button वस्तु तत्व के साथ चूक का विस्तार करके बटन प्लगइन आह्वान करने के लिए है:

// Invoke Buttons plugin (Bfrtip...) 
$.extend($.fn.dataTable.defaults, { 
    buttons: [ 'copy', 'csv', 'excel' ] 
}); 

या आप dataTable() प्रारंभ में यह कॉल कर सकते हैं:

$("#table2").DataTable({ 
    buttons: [ 
    'copy', 'excel', 'pdf' 
    ] 
}); 

examples of both approaches working के लिए https://jsfiddle.net/jhfrench/at83rcoL/8/ देखें।

+0

'dom' के लिए अंतर्निहित अधिकांश विकल्पों को बंद कर दिया जा सकता है और' dom' विकल्प अभी भी उनका उल्लेख कर सकता है और यह उड़ा नहीं जाएगा। अफसोस की बात है, बटन प्लगइन के लिए, यदि आप किसी दिए गए डीटी इंस्टेंस पर बटन का उपयोग नहीं कर रहे हैं, तो आपको या तो 'बी' को छोड़ना होगा, या यह सुनिश्चित करना होगा कि 'बी' 'dom' में है, तो 'बटन' को परिभाषित किया गया है विकल्प। यह एक अच्छा डिफ़ॉल्ट 'dom' मान साइटवाइड सेट करता है जिसमें 'बी' समस्याग्रस्तता शामिल होती है, क्योंकि ऐसा लगता है कि प्रत्येक इंस्टेंस में बटन होंगे। अगली बार जब मैं इस पर काम करता हूं तो मैं 'बटन: गलत' या 'बटन: []' का डिफ़ॉल्ट सेट करने का प्रयास करने जा रहा हूं और देख सकता हूं कि यह ठीक करता है या नहीं। – jinglesthula

+0

दरअसल, मैंने अभी उपरोक्त पहेली में इसे वास्तविक रूप से आजमाया है :) निश्चित रूप से, अगर आप 'dom:' Bfrtip 'सेट करते हैं और' बटन 'प्रदान करते हैं, तो निश्चित रूप से, पहेली के पहले उदाहरण (एक w/o बटन) में पर्याप्त है: [] ' काम करता है! ('बटन: झूठा 'अपवाद को टॉस करता है) – jinglesthula

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