0

だから私はこのフォーム(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
        }
    });
});
4

1 に答える 1

0

このリンクがお役に立てば幸いです。

    $(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
    if($("#self_service_form_type_0").is(":Checked") == true)
    {
        $("#self_service_form_studentid").val('')
      $("#self_service_form_studentdob").val('')
    }
    if($("#self_service_form_type_1").is(":Checked") == true)
    {
        $("#self_service_form_hrnumber").val('')
      $("#self_service_form_hrdob").val('')
    }

            alert('valid form submitted'); // for demo
            return false; // for demo
        }
    });
});
于 2016-07-29T04:32:01.533 に答える