HTMLはこれ。
hoge.html
<form id="cancel-reason-form">
<input type="radio" name="reason" value="1">
<input type="radio" name="reason" value="2">
<input type="radio" name="reason" value="3">
<input type="radio" name="reason" value="4">
<a id="cancel-reason-btn" href="#" class="btn-blue">送信する</a>
</form>
他の参考になる記事
こちらの記事で十分ですが、ページ内に、別のformと同じ名前のradioボタンがあった場合には困るので、このフォームの中のっていうのがやりたかったです。
[ちょいちょいわからなくなるcheckbox, radio, selectboxの値の取り方]
(http://qiita.com/nmta/items/dc29378adf79c5784218)
こちらの記事のように、formにidをつけてセレクタを使えば良いですが、IDつけられないこともあるかもなのでw
自分で書いたやつ
radioのnodelistをとってそのcheckedをfilterする
hoge.js
function sendCancelReason(){
var $form = $('#cancel-reason-form');
var reason = $($form[0].reason).filter(":checked").val();
console.log(reason);
}
こんな風に取れます。
hoge.js
var reason = $($form[0].reason).filter(":checked").val();
は
hoge.js
var reason = $($form[0].reason).filter(":checked").first().val();
の方がいいんだろうか。。。
idのセレクタを使ってfilter
hoge.js
$("#cancel-reason-form input[name=reason]:checked").val()
めっちゃ短い…。これの方がいいか…。