我有一个调用php文件的脚本,每次更改选择框(类别)时都会显示正确的字段。除了每一行,还有一个值(0或1)来显示该字段是否需要。如果你看下面,数据上的each()函数显示“key”是行,“val”是否是必需的。
我目前检查是否需要它,然后将“key”推入一个数组。现在,棘手的部分,我想修改validate函数以包含数组“req”中的所有元素(基本上动态建立验证要求)。目前,只需要“类别”(需要将其添加到验证的“规则”部分)
$('#category').change(function() {
var cid = $(this).val();
$.get('./ajax/get_cat_info.php?cid=' +cid, function(data, textStatus) {
var req = new Array();
$.each(data, function(key, val) {
$('#' + key).show();
if(val == 1) {
req.push(key);
}
});
}, 'json');
// Validation:
$("#submissionForm").validate({
rules: {
category: "required"
},
messages: {
category: ""
}
});
});
答案 0 :(得分:0)
这样的事情有帮助吗?
$('#category').change(function() {
var cid = $(this).val();
var myRules = cid.data('rules') || {};
$.get('./ajax/get_cat_info.php?cid=' +cid, function(data, textStatus) {
$.each(data, function(key, val) {
$('#' + key).show();
if(1 == val) {
myRules[key]="required";
cid.data('rules',myRules);
}
});
}, 'json');
// Validation:
$("#submissionForm").validate({
rules : $.extend({category: "required"},cid.data('rules')),
messages : {
category: ""
}
});
});
http://api.jquery.com/jQuery.extend/
这种在本地存储它的方法是否会提供一种有用的机制?
谢谢, MyStream