我需要能够根据特定选择字段的内容有条件地要求验证某些字段。例如,我有以下选择:
<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>
如果选择“选项4”,我需要包含5-6个其他要验证的选择字段。
非常感谢任何帮助。
答案 0 :(得分:1)
我可能会这样做:
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] + "();");
}
你可以使用函数进行实际验证:
function thisJobValidations() {
// validation magic happens here
}
for循环中的eval()
将根据推送到validations
数组的内容执行验证例程。
通过这种方式,您可以根据已满足的条件对您的验证进行细分,而且您不必编写一个更容易出错的单片验证函数。
封装所有东西!! : - )