2012-09-05 13 views
17

मुझे jQuery जटाला वेबसाइट लाइब्रेरी पर ठीक से दिखाने के लिए jQuery डेटाटेबल्स लाइब्रेरी प्राप्त करने में समस्या हो रही है। http://datatables.netटाइप एरर: jQuery कॉलैटबेल लाइब्रेरी का उपयोग करते समय oColumn अपरिभाषित है

लिपि मेरी तालिका को आधा स्टाइल कर रही है और फिर छोड़ रही है (मुझे टेबल हेडर रंग बदल गया है और टेक्स्ट रंग है, लेकिन कोई डेटाटेबल्स नियंत्रण आदि नहीं है)।

TypeError: oColumn is undefined 

मेरी जूमला टेम्पलेट्स में index.php मैं <head> में निम्नलिखित है:

<script src="./datatables/js/jquery.js" type="text/javascript"></script> 
<script src="./datatables/js/jquery.dataTables.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    jQuery.noConflict();     
    jQuery(document).ready(function() { 
    jQuery('#staff_table').dataTable({ 
     "bLengthChange": true, 
     "bFilter": true, 
     "bSort": true, 
     "bInfo": true, 
     "bAutoWidth": true 
     }); 
    }); 
</script> 

HTML/पीएचपी इस तरह दिखता है:

Firebug भी निम्न त्रुटि फेंक रहा है

<h3>Members of Staff</h3> 
<p>If you're looking for a member of staff at Tower Road Academy, you'll find their details here.</p> 
<table class="staff_table" id="staff_table"> 
    <tr class="staff_table_head"> 
     <th>Name</th> 
     <th>Job Title</th> 
     <th>Email Address</th> 
    </tr> 

    <?php 
     $result = mysql_query("SELECT * FROM itsnb_chronoforms_data_addstaffmember"); 

     while($row = mysql_fetch_array($result)) 
     { 
     echo '<tr>'; 
     echo '<td>' . $row['staff_name'] . '</td><td>' . $row['staff_job'] . '</td><td><a  href=mailto:"' . $row['staff_email'] . '">' . $row['staff_email'] . '</a>' . '</td>'; 
     echo '</tr>'; 
     } 
    ?> 
</table> 

उत्तर

28

सही तरीके से काम करने के लिए डेटाटेबल के लिए, आपकी टेबल उचित <thead> और <tbody> टैग के साथ बनाई जानी चाहिए।

All DataTables needs in your HTML is a <TABLE> which is well formed (i.e. valid HTML), with a header (defined by a <THEAD> HTML tag) and a body (a <TBODY> tag)

Datatable docs

+0

धन्यवाद अपरिभाषित है, यह उसी समय क्लिक किया गया था जब मैं नीचे टाइप कर रहा था :- डी –

+0

@IainSimpson हाँ, मैं बस हाल ही में इसमें भाग गया, इसलिए यह मेरे सिर के शीर्ष पर सही था! – hsalama

+0

महान help..thank आप .. – Charmie

0

इस प्रयास करें:

jQuery('#staff_table').dataTable({ 
         "bPaginate": true, 
         "bLengthChange": true, 
         "bFilter": true, 
         "bSort": true, 
         "bInfo": true, 
         "bAutoWidth": true, 
        "aoColumns": [ 
             null, 
             null //put as many null values as your columns 

        ] 
        }); 
+0

nCell –

4

यह छाँटे गए!, यह datatables पता चला है एचटीएमएल यह स्वीकार करता है इससे पहले कि यह एक त्रुटि फेंकता है के बारे में बहुत सख्त है। मैंने अपने एचटीएमएल में टैग जोड़े और अब यह काम कर रहा है, यह भी ध्यान रखें कि आपके पास अपने हेडर कॉलम के लिए टैग होना चाहिए और टैग नहीं होना चाहिए क्योंकि यह भी एक त्रुटि फेंकता है।

<h3>Members of Staff</h3> 
<p>If you're looking for a member of staff at Tower Road Academy, you'll find their  details here.</p> 
<table class="staff_table" id="staff_table"> 
<thead> 
<tr class="staff_table_head"> 
<th>Name</th> 
<th>Job Title</th> 
<th>Email Address</th> 
</tr> 
</thead> 

<?php 
$result = mysql_query("SELECT * FROM itsnb_chronoforms_data_addstaffmember"); 

while($row = mysql_fetch_array($result)) 
    { 
echo '<tr>'; 
echo '<td>' . $row['staff_name'] . '</td><td>' . $row['staff_job'] . '</td><td><a   href=mailto:"' . $row['staff_email'] . '">' . $row['staff_email'] . '</a>' . '</td>'; 
    echo '</tr>'; 
    } 
?> 
</table> 

और jQuery आदि बुला इस तरह दिखता है:

<script src="./datatables/js/jquery.js" type="text/javascript"></script> 
    <script src="./datatables/js/jquery.dataTables.js" type="text/javascript"></script> 

      <script type="text/javascript"> 

jQuery(document).ready(function() { 
jQuery('#staff_table').dataTable({ 
    "bLengthChange": true, 
    "bFilter": true, 
    "bSort": true, 
    "bInfo": true, 
    "bAutoWidth": true 
}); 
}); 

    </script> 
3

आशा यह आप सब करने में मदद मिलेगी, कम से कम से बाहर एक संकेत प्राप्त करने के लिए

एचटीएमएल कोड अब इस तरह दिखता है यह।

http://datatables.net/forums/discussion/comment/42607

मेरे समस्या थी, लेखन त्रुटि: col अनिर्धारित रहता है।

संक्षिप्त उत्तर:

Number of TH elements within the TR element within the THead element of the Table MUST BE EQUAL to the Number of TD elements(or number of columns within your Table Rows) within the TR element(s) of your TBody in the Table.

आप स्पष्टीकरण bellow पढ़ सकते हैं:

समस्या थी, मैं thead अनुभाग के भीतर पर्याप्त गु या टीडी तत्वों नहीं रखा था बराबर हो टीबीडी अनुभाग के भीतर टी तत्वों के अंदर टीडी तत्वों के रूप में मुद्रित कॉलम की संख्या के लिए।

निम्नलिखित कोड ने मुझे त्रुटि दी।

<thead> 
<tr> 
    <th> Heading 1</th> 
    <th> Heading 2</th> 
</tr> 
</thead> 
<tbody> 
<tr> 
    <td> Column 1 </td> 
    <td> Column 2</td> 
    <td> Column 3</td> 
</tr> 
</tbody>" 

लेकिन अभी ठेड तत्व के भीतर Tr तत्व को तत्व गु एक और अधिक जोड़ने यह एक आकर्षण की तरह काम करता बनाया! :) और मुझे उपरोक्त लिंक से इशारा मिला।

और यह भी, मैंने पाया कि ठेड के Tr तत्व के भीतर सभी वें तत्वों तत्वों भी टीडी जा सकता है, के रूप में यह भी jQuery DataTables के लिए आवश्यक स्तर तक मान्य HTML है!

आशा मैं अपने समय की बचत करने के लिए आप में से कुछ मदद की! :)

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