jQuery验证取决于onselect选项是否需要其他字段

时间:2015-02-11 13:56:21

标签: javascript jquery forms jquery-validate

我有一个表单,当您单击该复选框时,它会弹出另一个表单。我正在努力使用jQuery验证来制作某些字段。基本上我想要完成的是当单击复选框时我需要AndOr1,否则如果未选中复选框则不需要它。

但接下来要进一步取决于为select AndOr1选择的选项,我希望它能够控制所需要的内容和不需要的内容。因此,如果And被选中,我需要名称,地址1,城市,州和邮政要求,如果选择或者我不想要任何字段。

有人可以请我帮我解决这个问题吗?

http://jsfiddle.net/Alexandra123/epjqz4nk/2/

function valueChanged1()
{
    if($('#anotherSeller1').is(":checked"))   
        $("#Form2").show();

    else
        $("#Form2").hide();
        $("#Form2 > .clearfix input:text").val("");
        $("#Form2 > select").val("");
        $("#anotherSeller2").prop("checked", false);


}

修改:此问题与jquery - form validate rules required depends不同,因为它更进了一步。这个表单正在做的只是根据复选框是否选中需要AndOr1。 (这与其他问题相同)但是那个应该做的是取决于为AndOr1选择的选择选项如果选择并且我希望它需要sellerName2,如果或者被选中我希望它不需要sellerName2。所以这将使它更进一步。

我遇到的问题是我可以根据And或Or进​​行操作,但如果在AndOr1尚未选择时点击提交,我不希望它已经需要sellerName2。只有一次和被选中。

    <script>
             $("#form").validate({
    rules: {
        sellerName1: {
            required: true
        },
        AndOr1: {
            required: '#anotherSeller1:checked'
        },
        sellerName2: {
            required: '#anotherSeller1:checked > #AndOr1:Add'


        },
        // Same for other fields
    },
    messages: {
        sellerName1: "This field is required.",
        // Repeat for other fields
    }
});
    </script>

1 个答案:

答案 0 :(得分:0)

这应该解决它:

$("#form").validate({
    rules: {
        sellerName1: {
            required: true
        },
        AndOr1: {
            required: '#anotherSeller1:checked'
        },
        sellerName2: {
            required: function(element) {
                return $("#AndOr1").val() == "And";

            }
        },
        // Same for other fields
    },
    messages: {
        sellerName1: "This field is required.",
        // Repeat for other fields
    }
});