だから私はこのフォーム(jsfiddle link)を持っています。ご覧のとおり、ラジオオプションが選択されると、より多くの選択肢が表示されます。私の問題は、送信をクリックして別のラジオ ボタンを選択し、最初のラジオ オプションを再度選択すると、検証がクリアされないことです。
これを行う方法はありますか?プラグインのさまざまなオプションを見ましたが、何も目立ちません。
ありがとう
ここに私のJSコードがあります:
$(document).ready(function(){
$("[id$=dob]").datepicker({ changeMonth: true, changeYear: true, dateFormat: "dd-mm-yy", yearRange: "-100:+0" });
$(document).on("click", "[id^=self_service_form_type_]", function(event) {
for (i=0; i < 2; i++) {
$("#type_"+i).hide();
}
$("#type_"+event.target.id.slice(-1)).show();
});
$('#selfserviceform').validate({
rules: {
"self_service_form[studentid]": {
required: {
depends: function() {
return $("#self_service_form_type_0").is(":checked");
}
}
}
, "self_service_form[studentdob]": {
required: {
depends: function() {
return $("#self_service_form_type_0").is(":checked");
}
}
}
, "self_service_form[hrnumber]": {
required: {
depends: function() {
return $("#self_service_form_type_2").is(":checked");
}
}
}
, "self_service_form[hrdob]": {
required: {
depends: function() {
return $("#self_service_form_type_2").is(":checked");
}
}
}
}
, focusCleanup: true
, messages: {
"self_service_form[studentid]": ""
, "self_service_form[studentdob]": ""
, "self_service_form[hrnumber]": ""
, "self_service_form[hrdob]": ""
}
, submitHandler: function (form) { // for demo
alert('valid form submitted'); // for demo
return false; // for demo
}
});
});