Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery有条件地验证选择字段_Javascript_Jquery_Jquery Validate - Fatal编程技术网

Javascript jQuery有条件地验证选择字段

Javascript jQuery有条件地验证选择字段,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我需要能够根据特定select字段的内容有条件地要求验证某些字段。例如,我有以下选择: <select name="new_jobType"> <option value="">Please select</option> <option value="1">option 1</option> <option value="2">option 2</option> <option value="3">

我需要能够根据特定select字段的内容有条件地要求验证某些字段。例如,我有以下选择:

<select name="new_jobType">
<option value="">Please select</option>
<option value="1">option 1</option>
<option value="2">option 2</option>
<option value="3">option 3</option>
<option value="4">option 4</option>
</select>

请选择
选择1
选择2
选择3
选择4
如果选择了“选项4”,我需要包括5-6个要验证的其他选择字段


任何帮助都将不胜感激。

我可能会这样做:

var validations = new Array();

$('select[name="new_jobType"]').change(function() {
    var thisJob = $(this + " option:selected").val();

    if(thisJob == 4) {
        validations.push("thisJobValidations");
    }
});
只需将需要运行的任何验证例程推送到该验证数组上,然后在提交时:

for(var i = 0; i < validations.length; i++) {
    eval(validations[i] + "();");
}
for循环中的
eval()
将根据推送到
validations
数组中的内容执行验证例程

这样,您就可以根据满足的条件对验证进行分段,而不必编写一个更容易出错的整体验证函数

封装所有的东西!!:-)

function thisJobValidations() {
    // validation magic happens here
}