[解決済み] jQueryで、ラジオボタンがすべて同じ名前の場合、どのように値を取得するのでしょうか?
2022-11-03 04:52:27
質問
以下は私のコードです。
<table>
<tr>
<td>Sales Promotion</td>
<td><input type="radio" name="q12_3" value="1">1</td>
<td><input type="radio" name="q12_3" value="2">2</td>
<td><input type="radio" name="q12_3" value="3">3</td>
<td><input type="radio" name="q12_3" value="4">4</td>
<td><input type="radio" name="q12_3" value="5">5</td>
</tr>
</table>
<button id="submit">submit</button>
以下はJSです。
$(function(){
$("#submit").click(function(){
alert($('input[name=q12_3]').val());
});
});
以下は JSFIDDLE ! ボタンをクリックするたびに、1が返されます。なぜですか?誰か私を助けることができますか?
どのように解決するには?
あなたのコードでは、jQueryはただ名前を持つ入力の最初のインスタンスを探します
q12_3
という名前の入力の最初のインスタンスを探します。この場合、値は
1
. という名前の入力が必要です。
q12_3
というのは
:checked
.
$("#submit").click(() => {
const val = $('input[name=q12_3]:checked').val();
alert(val);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tr>
<td>Sales Promotion</td>
<td><input type="radio" name="q12_3" value="1">1</td>
<td><input type="radio" name="q12_3" value="2">2</td>
<td><input type="radio" name="q12_3" value="3">3</td>
<td><input type="radio" name="q12_3" value="4">4</td>
<td><input type="radio" name="q12_3" value="5">5</td>
</tr>
</table>
<button id="submit">submit</button>
なお、上記のコードは
ではなく
を使うのと同じです。
.is(":checked")
.jQueryの
is()
関数は、ブール値(真または偽)と、要素(複数可)を返します。
この回答は多くの注目を集め続けているので、バニラJavaScriptのスニペットも含めておきます。
document.querySelector("#submit").addEventListener("click", () => {
const val = document.querySelector("input[name=q12_3]:checked").value;
alert(val);
});
<table>
<tr>
<td>Sales Promotion</td>
<td><input type="radio" name="q12_3" value="1">1</td>
<td><input type="radio" name="q12_3" value="2">2</td>
<td><input type="radio" name="q12_3" value="3">3</td>
<td><input type="radio" name="q12_3" value="4">4</td>
<td><input type="radio" name="q12_3" value="5">5</td>
</tr>
</table>
<button id="submit">submit</button>
関連
-
[解決済み] jQueryを使って要素のIDを取得するにはどうすればよいですか?
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
-
[解決済み] JavaScriptで現在の日付を取得するには?
-
[解決済み] セレクタの子を取得する方法は?
-
[解決済み] jQueryで名前を指定して要素を選択するには?
-
[解決済み] jQueryでラジオボタンを確認する方法は?
-
[解決済み] JQueryでラジオボタンがチェックされているかどうかを調べる?
-
[解決済み】オブジェクトの型の名前を取得する
-
[解決済み] アサインの左側にJavascriptのオブジェクトブラケット表記({ ナビゲーション } =)があります。
-
[解決済み] Chrome拡張機能:popup.htmlを強制終了させる
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】jQueryで、name属性で要素を選択するにはどうすればいいですか?
-
[解決済み] JSのDateからDay名
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] javascriptで2つの数値を連結する方法は?
-
[解決済み] Javascriptで動的に命名されたメソッドを呼び出すにはどうすればよいですか?
-
[解決済み] react-routerのハッシュフラグメントからクエリパラメータを取得する
-
[解決済み] JavaScript のオブジェクトの配列を比較し、最小値/最大値を取得する
-
[解決済み] $.ajax実行中にローディングイメージを表示する
-
[解決済み] 変異を伴わないオブジェクトからの値の削除
-
[解決済み] リダイレクトされずにHTMLフォームを送信する方法