フォームのようなものを作っていて、ラジオボタンの値と、チェックボックスにユーザーがチェックを入れているかボタンを押下時に同時に確認したいです。
HTML
1<input type="radio" name="hoge" id="hoge1" value="hoge1"> 2<label for="hoge1" class="hoge-label"></label> 3 4<input type="radio" name="hoge" id="hoge2" value="hoge2"> 5<label for="hoge2" class="hoge-label"></label> 6 7<input type="checkbox" name="huga" id="huga" value="huga"> 8<label for="huga" class="huge-label"></label> 9 10<button type="button" id="btn">ボタン</button>
jQuery
1$(document).on('click', '#btn', () => { 2 console.log($('[name=hoge]').val()); 3 console.log($('[name=huga]').is(':checked')); 4});
前提として、トリガーとなっているボタンを押下する前に、ラジオボタンとチェックボックスにはチェックしていたとして、上記のコードを実行すると、コンソールにはundefinedとfalseが出力されてしまいます。
ただ少し触っていると、ラジオボタンとチェックボックスの出力結果は一つ前の値を出力しているということがわかりました。(ラジオボタンの部分で言えば1回目の押下はundefined、2回目以降は前回選択していたvalueが出力される)
これをボタンを押した際に、1回目から選択している値を取るにはどうすればよいのでしょうか。
いろいろ試行錯誤はしているのですが、なかなか解決できないので質問させていただきました。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。