1. ホーム
  2. jquery

[解決済み] 種類と名前によるターゲット入力(セレクタ)

2022-05-14 13:08:10

質問

ページ上のすべての入力ではなく、いくつかのチェックボックス入力を隠し入力に変更する必要があります。

<input type="checkbox" name="ProductCode"value="396P4"> 
<input type="checkbox" name="ProductCode"value="401P4"> 
<input type="checkbox" name="ProductCode"value="F460129">

下記のjqueryコードは、入力のタイプによってのみ選択され、すべてのチェックボックスが非表示入力に変更されます 入力="チェックボックス" と 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
});

どのように解決するのですか?

あなたは 複数属性セレクタ

$("input[type='checkbox'][name='ProductCode']").each(function(){ ...

または

$("input:checkbox[name='ProductCode']").each(function(){ ...

CSS のクラスを使って選択したいものを特定する方がよいのですが、最近のブラウザの多くは、選択したいものを特定するために document.getElementsByClassName メソッドを実装しており、これは要素を選択するために使用されます。 name 属性で選択するよりも高速になります。