Saya mendapatkan kesalahan ini dengan yang berikut:
jquery.dataTables.js:4089 Uncaught TypeError: Cannot read property 'style' of undefined(…)
_fnCalculateColumnWidths @ jquery.dataTables.js:4089
_fnInitialise @ jquery.dataTables.js:3216
(anonymous function) @ jquery.dataTables.js:6457
each @ jquery-2.0.2.min.js:4
each @ jquery-2.0.2.min.js:4
DataTable @ jquery.dataTables.js:5993
$.fn.DataTable @ jquery.dataTables.js:14595
(anonymous function) @ VM3329:1
(anonymous function) @ VM3156:180
l @ jquery-2.0.2.min.js:4
fireWith @ jquery-2.0.2.min.js:4
k @ jquery-2.0.2.min.js:6
(anonymous function) @ jquery-2.0.2.min.js:6
Baris di atas yang mengacu pada (fungsi anonim) @ VM3156: 180 adalah:
TASKLISTGRID = $("#TASK_LIST_GRID").DataTable({
data : response,
columns : columns.AdoptionTaskInfo.columns,
paging: true
});
Jadi saya menduga di sinilah kegagalannya.
Elemen ID HTML ada:
<table id="TASK_LIST_GRID" class="table table-striped table-bordered table-hover dataTable no-footer" width="100%" role="grid" aria-describedby="TASK_LIST_GRID_info">
<thead>
<tr role="row">
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Solution</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Status</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Category</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Type</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Due Date</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Create Date</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Owner</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Comments</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Mnemonic</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Domain</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Approve</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Dismiss</th>
</tr>
</thead>
<tbody></tbody>
</table>
Juga, ada array objek columns.AdoptionTaskInfo.columns & respons. Tidak yakin bagaimana men-debug apa yang salah .. Ada saran yang akan membantu ..
javascript
jquery
node.js
datatables
Calon
sumber
sumber
.style
di kode Anda. Anda mencoba mengakses properti variabel tak terdefinisi. Anda dapat melakukan debug dari sana.Jawaban:
Masalahnya adalah jumlah tag <th> harus sesuai dengan jumlah kolom dalam konfigurasi (array dengan "kolom" kunci). Jika ada lebih sedikit tag <th> dari kolom yang ditentukan, Anda mendapatkan pesan kesalahan yang sedikit samar ini.
(jawaban yang benar sudah ada sebagai komentar tetapi saya mengulanginya sebagai jawaban agar lebih mudah ditemukan - saya tidak melihat komentar)
sumber
KEMUNGKINAN PENYEBAB
th
elemen di header atau footer tabel berbeda dengan jumlah kolom di badan tabel atau ditentukan menggunakancolumns
opsi.th
elemen di header tabel.columnDefs.targets
opsi.SOLUSI
th
elemen di header atau footer tabel cocok dengan jumlah kolom yang ditentukan dalamcolumns
opsi.colspan
atribut di header tabel, pastikan Anda memiliki setidaknya dua baris header dan satuth
elemen unik untuk setiap kolom. Lihat Header kompleks untuk informasi selengkapnya.columnDefs.targets
opsi, pastikan bahwa indeks kolom berbasis nol merujuk ke kolom yang sudah ada.TAUTAN
Lihat jQuery DataTables: Kesalahan umum konsol JavaScript - TypeError: Tidak dapat membaca 'gaya' properti tidak terdefinisi untuk informasi selengkapnya.
sumber
Anda mengatakan saran apa pun akan sangat membantu, jadi saat ini saya menyelesaikan masalah "tidak dapat membaca properti 'gaya' tidak terdefinisi" pada Tabel Data saya, tetapi masalah saya pada dasarnya menggunakan indeks yang salah di
columnDefs
bagian tahap inisiasi tabel data . Saya mendapat 9 kolom dan indeksnya adalah 0, 1, 2, .., 8 tetapi saya menggunakan indeks untuk 9 dan 10 jadi setelah memperbaiki masalah indeks yang salah, kesalahan telah hilang. Saya harap ini membantu.Singkatnya, Anda harus memperhatikan jumlah kolom dan indeks Anda jika konsisten di mana-mana.
Kode Buggy:
Kode Tetap:
sumber
Saya mengalami masalah ini ketika saya mengatur
colspan
di header tabel. Jadi meja saya adalah:Kemudian setelah saya mengubahnya menjadi:
Semuanya bekerja dengan baik.
sumber
Pastikan bahwa dalam data masukan Anda,
response[i]
danresponse[i][j]
, bukanundefined
/null
.Jika demikian, gantilah dengan "".
sumber
Itu juga bisa terjadi saat menggambar tabel baru (lainnya). Saya menyelesaikan ini dengan terlebih dahulu menghapus tabel sebelumnya:
$("#prod_tabel_ph").remove();
sumber
Solusinya cukup sederhana.
Catatan : kolom: koloms.AdoptionTaskInfo.columns memiliki setidaknya satu kolom yang tidak ditentukan di kepala tabel
sumber
Lucunya saya mendapatkan kesalahan berikut karena memiliki satu pasangan terlalu banyak dan Google masih mengarahkan saya ke sini. Saya akan membiarkannya tertulis sehingga orang dapat menemukannya.
sumber
Dalam kasus saya, saya memperbarui data sisi server dua kali dan itu memberi saya kesalahan ini. Semoga bisa membantu seseorang.
sumber