Dalam kode berikut saya menyiapkan penangan perubahan pada kotak pilih untuk menampilkan dan menyembunyikan beberapa pertanyaan tindak lanjut berdasarkan nilai pilihan.
Selanjutnya, untuk beberapa nilai pemilihan ada pesan tambahan yang ditampilkan.
Untuk memeriksa apakah saya perlu menyembunyikan pesan tambahan, saya menyimpan variabel yang disebut Sebelumnya. Setelah eksekusi penangan saya memeriksa untuk melihat apakah Sebelumnya nol atau jika ukurannya 0.
Alangkah baiknya untuk menginisialisasi Sebelumnya ke objek JQuery kosong agar tidak perlu melakukan pemeriksaan ekstra untuk null.
Melakukan $ () mengembalikan objek dengan ukuran 1.
Apakah ada cara untuk membuat objek Jquery kosong?
// Fungsi init. $ (function () { // Tahan objek yang dipilih sebelumnya untuk pemilihan tipe akun. var Sebelumnya = null; // Di sinilah saya ingin menginisialisasi. // sesuatu seperti Sebelumnya = $ (); $ ("SELECT [name = 'AccountType']"). Change ( fungsi () { // Sembunyikan pesan sebelumnya jika ada. if (Sebelumnya == null || Sebelumnya.size ()> 0) { Sebelumnya.hide (); } // Tampilkan pesan jika ditemukan dan simpan seperti sebelumnya. Sebelumnya = $ ("#" + this.value + "_ Msg"). Show (); // Dapatkan pertanyaan pertama var FirstQuestion = $ (". FirstQuestion"); if (this.value === '') { FirstQuestion.hide (); }lain{ // Perlihatkan FirstQuestion secara manual. FirstQuestion.show (); } }); }
Dalam kasus terburuk saya bisa melakukan sesuatu seperti ini:
var Sebelumnya = {size: function () {return 0; }};
tapi sepertinya itu berlebihan.
Sumber: api.jquery.com
sumber
Saran saya, jangan lakukan seperti itu. Ada banyak cara yang lebih mudah untuk melakukan ini. Mempertimbangkan:
Jauh lebih mudah. Pada dasarnya berikan kelas untuk menunjukkan apa yang harus ditampilkan dan disembunyikan dan kemudian tidak diperlukan pelacakan. Alternatifnya adalah:
sumber
coba ini
Saya bukan programmer yang baik tetapi itu memberi Anda objek kosong :))
sumber