jQueryでradioボタンとselectの選択状態を調べたいのですが、色々と情報がありすぎて迷い、また色々試しても動作しなかったり、正常な情報が取得できなかったりと様々だったので、自分は以下の方法で確定しました。

// radioボタンでどれも選択されていない場合
if(!$('input[name="sample"]').is(':checked')) {
  alert("選択してください。");
}

 

radioボタンの場合はcheckedで判断するようですが、selectの場合はselectedで判断するようにとのこと。

// selectのoptionをどれも選択されていない場合
if($('select[name="sample"] option:selected').val().trim()=="") {
  alert("選択してください。");
}

 

最初のoptionに空のvalueを設定すること。もし空のvalueがない場合は、optionタグで挟んだ中身が代理としてvalueの値になるのだそう。