ページ上のすべての入力ではなく、一部のチェックボックス入力を非表示の入力に変更する必要があります。
<input type="checkbox" name="ProductCode"value="396P4">
<input type="checkbox" name="ProductCode"value="401P4">
<input type="checkbox" name="ProductCode"value="F460129">
以下の jQuery コードは、タイプによって入力のみを選択し、すべてのチェック ボックスを非表示の入力に変更します。セレクターとして input="checkbox" と name="ProductCode" の両方のタイプをチェックして、変更したいものを具体的にターゲットにする方法はありますか?
$("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
});
ベストアンサー1
あなたは複数属性セレクター
$("input[type='checkbox'][name='ProductCode']").each(function(){ ...
または
$("input:checkbox[name='ProductCode']").each(function(){ ...
選択したいものを識別するにはCSSクラスを使用する方が良いでしょう。しかし、多くの最近のブラウザは要素を選択するために使用されるメソッドを実装しており、属性document.getElementsByClassName
で選択するよりもはるかに高速です。name