Проверка JQuery зависит от группы
У меня есть правила, которые проверяют группу (требуется одно из 3). Это работает нормально, однако мне нужно, чтобы только требование 1 из 3 зависело от выбора в форме.
rules: {
cloudfront_7: {
require_from_group: {
depends: function(element) {
if ($( "#classify" ).val() == "PIC" ){
return false;
} else {
return [1, ".verification-group"];
}
}
}
},
cloudfront_8: {
require_from_group: {
depends: function(element) {
if ($( "#classify" ).val() == "PIC" ){
return false;
} else {
return [1, ".verification-group"];
}
}
}
},
cloudfront_9: {
require_from_group: {
depends: function(element) {
if ($( "#classify" ).val() == "PIC" ){
return false;
} else {
return [1, ".verification-group"];
}
}
}
}
}
Я заметил, что это просто возвращает true
вместо кода, который я написал, который необходим для require_from_group()
функция.
2 ответа
Решение
Я решил проблему с помощью этих пользовательских правил:
var verDoc_required = {
cloudfront_7: {
require_from_group: [1, ".verification-group"]
},
cloudfront_8: {
require_from_group: [1, ".verification-group"]
},
cloudfront_9: {
require_from_group: [1, ".verification-group"]
}
}
$("#classify").change(function() {
if ( $(this).val() == "PIC" ) {
removeRules(verDoc_required);
} else {
addRules(verDoc_required);
}
});
function addRules(rulesObj) {
for (var item in rulesObj) {
$('#' + item).rules('add', rulesObj[item]);
}
}
function removeRules(rulesObj) {
for (var item in rulesObj) {
$('#' + item ).rules('remove');
}
}
Вы можете попробовать этот код:
rules: {
cloudfront_7: {
require_from_group: {
param: [1, "..verification-group"],
depends: function(element) {return .....}
}
},
cloudfront_8: {
require_from_group: {
param: [1, "..verification-group"],
depends: function(element) {return .....}
}
},
cloudfront_9: {
require_from_group: {
param: [1, "..verification-group"],
depends: function(element) {return .....}
}
},
}