Ketika saya menggunakan DatePicker, plugin UI jQuery, di halaman .aspx yang ada, saya mendapatkan kesalahan bahwa:
$("#datepicker").datepicker is not a function
Namun, ketika saya menyalin dan menempelkan kode yang sama yang membuat dan menggunakan datePicker ke file HTML yang juga ada di direktori yang sama dengan halaman aspx, ia bekerja dengan sempurna. Ini membuat saya berasumsi bahwa ada beberapa file JS di halaman aspx yang mencegah datePicker atau mungkin file JS JS UI jQuery dimuat dengan benar.
Adakah yang bisa mengkonfirmasi keyakinan saya atau memberikan tip tentang menemukan pelakunya yang mengganggu plugin UI jQuery?
asp.net
javascript
jquery
datepicker
burnt1ce
sumber
sumber
Jawaban:
Saya berjuang dengan masalah yang sama selama berjam-jam. Kemudian ternyata jQuery dimasukkan dua kali, satu kali oleh program yang saya tambahkan fungsi jQuery dan satu kali oleh in-house debugger kami.
sumber
Jika ada perpustakaan lain yang menggunakan $ variabel, Anda bisa melakukan ini:
Pastikan juga javascript Anda termasuk dalam urutan yang benar sehingga pustaka inti jquery ditentukan sebelum jquery.ui. Saya punya masalah penyebab itu.
sumber
Kesalahan ini biasanya muncul ketika Anda kehilangan file dari set UI jQuery.
Periksa ulang apakah Anda memiliki semua file, file UI jQuery serta CSS dan gambar, dan bahwa file tersebut berada di lokasi file / direktori yang terhubung dengan benar di server Anda.
sumber
jQuery "$ (" # datepicker "). datepicker bukan fungsi"
Saya telah memperbaiki masalah ini dengan menempatkan tiga file di bawah ini di bagian tubuh formulir di akhir.
sumber
Jika Anda berpikir bahwa ada konflik yang dapat Anda gunakan
jQuery.noConflict()
dalam kode Anda. Detail ada di dokumen .Itulah dari akhir dokumen dan mungkin bermanfaat bagi Anda
sumber
Pergi untuk yang jelas pertama: Apakah Anda mereferensikan dengan baik file jquery-ui.js?
Coba gunakan tab jaringan pembakar untuk menemukan apakah itu dimuat, atau informasi \ Lihat kode javascript dari Bilah Alat Pengembang Web.
sumber
Sudahkah Anda mencoba menggunakan Firebug untuk 1) menentukan bahwa tidak ada kesalahan Javascript dan 2) bahwa elemen #datepicker ada di halaman?
Kemungkinan besar ada kesalahan sebelum panggilan datepicker yang mencegah panggilan datepicker dari mengeksekusi.
sumber
Saya tahu bahwa posting ini cukup lama, tetapi untuk referensi saya memperbaiki masalah ini dengan memperbarui versi datepicker
Perlu dicoba juga untuk menghindari berjam-jam debugging.
https://cdnjs.com/libraries/bootstrap-datepicker
sumber
Saya baru saja mengalami masalah ini, dan memindahkan referensi dan kode JS ke bagian bawah halaman sebelum
</body>
tag memperbaikinya untuk saya.sumber
Periksa juga izin untuk direktori tempat Anda mengunduh file. Untuk beberapa alasan ketika saya mengunduh ini, secara default itu disimpan dalam folder tanpa akses! Butuh selamanya untuk mencari tahu itu masalahnya, tapi aku hanya harus mengubah izin untuk direktori dan isinya - mengaturnya jadi SEMUA ORANG = BACA HANYA. Bagus sekali sekarang.
sumber
Saya mengalami masalah ini baru-baru ini - masalahnya adalah bahwa saya telah memasukkan file jQuery UI di tag kepala, tetapi perpustakaan Telerik yang saya gunakan termasuk jQuery di bagian bawah tag tubuh (sehingga tampaknya menginisialisasi ulang jQuery dan membongkar UI) plugin yang sebelumnya dimuat).
Solusinya adalah untuk mengetahui di mana sebenarnya jQuery dimasukkan, dan termasuk skrip UI jQuery setelah itu.
sumber
Saya hanya mengalami masalah serupa. Ketika saya mengubah referensi skrip saya dari tag yang menutup sendiri (yaitu,
<script src=".." />
) ke node kosong (yaitu,<script src=".."></script>
) kesalahan saya hilang dan tiba-tiba saya bisa merujuk fungsi jQuery UI.Pada saat itu, saya tidak menyadari ini hanya kentut otak saya yang tidak menutupnya dengan benar. (Saya memposting ini hanya jika ada orang lain yang mengalami masalah serupa.)
sumber
Beberapa file tidak dimuat sebelum Anda menelepon.
Misalnya: Kode Anda:
Ubah ini:
sumber
Saya bisa memperbaiki masalah ini dengan menghapus bundel jquery di _Layout.cshtml
Header
Footer
Ubah footer ke
sumber
Sudahkah Anda mencoba menggunakan $ ("# <% = txtDateElementId.ClientID%>"). Datepicker (); bukannya $ ("# txtDateElementId"). datepicker (); saat memilih elemen dengan ID menggunakan JQuery.
sumber
Dalam kasus saya, ini diselesaikan dengan mengubah urutan impor skrip berikut: Sebelum (Tidak berfungsi):
Setelah bekerja):
sumber