Saya perlu mengubah beberapa input kotak centang menjadi input tersembunyi untuk beberapa tetapi tidak semua input pada halaman.
<input type="checkbox" name="ProductCode"value="396P4">
<input type="checkbox" name="ProductCode"value="401P4">
<input type="checkbox" name="ProductCode"value="F460129">
Kode jquery di bawah ini hanya memilih input berdasarkan jenis yang menyebabkan semua kotak centang berubah menjadi input tersembunyi. Apakah ada cara untuk memeriksa kedua jenis input = "kotak centang" dan nama = "ProductCode" sebagai pemilih sehingga saya dapat secara khusus menargetkan mereka yang ingin saya ubah?
$("input[type='checkbox']").each(function(){
var name = $(this).attr('name'); // grab name of original
var value = $(this).attr('value'); // grab value of original
var html = '<input type="hidden" name="'+name+'" value="'+value+'" />';
$(this).after(html).remove(); // add new, then remove original input
});
Anda dapat menggabungkan penyeleksi atribut dengan cara ini:
sehingga suatu elemen harus memenuhi kedua kondisi tersebut. Tentu saja Anda dapat menggunakan ini untuk lebih dari dua. Juga, jangan lakukan
[type=checkbox]
. jQuery memiliki pemilih untuk itu, yaitu:checkbox
sehingga hasil akhirnya adalah:Namun, penyeleksi atribut lambat sehingga pendekatan yang disarankan adalah menggunakan ID dan penyeleksi kelas jika memungkinkan. Anda dapat mengubah markup ke:
memungkinkan Anda untuk menggunakan banyak pemilih lebih cepat dari:
sumber
Itu cara CSS dan saya hampir yakin itu akan bekerja di jQuery.
sumber