Aplikasi saya telah menambahkan Dropdown secara dinamis. Pengguna dapat menambahkan sebanyak yang mereka butuhkan.
Secara tradisional saya menggunakan live()
metode jQuery untuk mendeteksi kapan salah satu Dropdown ini diedit change()
:
$('select[name^="income_type_"]').live('change', function() {
alert($(this).val());
});
Pada jQuery 1.7, saya telah memperbarui ini ke:
$('select[name^="income_type_"]').on('change', function() {
alert($(this).val());
});
Melihat pada Documents, itu harusnya benar-benar valid (benar?) - tetapi event handler tidak pernah menyala. Tentu saja, saya sudah mengkonfirmasi jQuery 1.7 dimuat dan berjalan, dll. Tidak ada kesalahan dalam log kesalahan.
Apa yang saya lakukan salah? Terima kasih!
live
sebenarnya menggunakanon
, jadi menulis ulang kode warisan mungkin tidak diperlukan dulu sampailive
akan dihapus, yang saya percaya adalah 1.9. Kutipan dari sumber 1.7.1:live: function( types, data, fn ) {jQuery( this.context ).on( types, this.selector, data, fn ); return this;}
Jadi, jika seseorang tidak memutakhirkan ke versi di manalive
hilang pembaruan mungkin tidak diperlukan segera untuk kode warisan. Untuk kode baru tentunya menggunakanon()
sebagai gantinya adalah seperti yang direkomendasikan. Saya hanya berpikir informasi ini dapat membantu orang lain pada tahap tertentu.