jquery.validate フォーム フォーム検証を使用しています。問題は、フォーム 、s1_AM
、s1_PM
、s2_AM
に約 40 の無線入力がありs2_PM
、それぞれ約 10個のradio
入力があることです。4 つのオプションのうち少なくとも 1 つをチェックする必要がありますが、4 つすべてをチェックする必要はありません。コードをclass="required"
挿入すると、4 つのオプションすべてが必要になるため、正しくありません。どうすればこれを回避できますか?
理想的には、検証をそのまま維持したいのですが、ラジオが空の場合はアラートを追加します。
jQuery
jQuery.validator.messages.required = "";
$("#enroll").validate({
invalidHandler: function(e, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
var message = errors == 1
? 'You missed 1 required field'
: 'You missed ' + errors + ' required fields';
$("div.Error span").html(message);
$("div.Error").show();
} else {
$("div.Error").hide();
}
}
});
ラジオは動的です:
if($row['s1_AM_fill'] < $row['s1_AM_cap']) {
$s1_AM .= '<input type="radio" name="s1_AM" id="s1_AM_'.$id.'" value="'.$id.'" />;
}
さらに、 for s1_PM
、s2_AM
およびの 3 つが追加されs2_PM
ます。
これが私がしたことですが、アラートが開始されると停止しません
$('#submit').click(function () {$("ul.courses").each(function(){
$(this).find("input[type=radio]").each(function(){
alert("You must select at least 1 available course");
});
return false;
});