Хорошо, поэтому я написал эту функцию для события изменения, примененного к флажку.Теперь очевидно, что мне нужно использовать его как пользовательский метод проверки, поэтому он запускается, когда вы нажимаете «Далее», чтобы пройти через форму.У меня все это работает, я просто не могу понять синтаксис правила.
Вот как событие изменения:
$('#MKDPT').change(function() {
if ($('#MKDPT').is(':checked')) {
var checked = false;
var ckd = ['AMX1N','BMFNP','BMFNB','CFE1N','CBEXR','CBT1','CBTQL','CME1','CMEQL','CMX1','DCMX1','DMERT','DMEDL','ERX1N','ERXXN','EXC1N','EXD1N','EXR1N','EXI1N','IPE1','KCB1','LME1','DLME1','MPL1','NDQ1N','NDQL2','CEC1','ICEFI','NYM1','DNYM1','NYMQL','NYS1N','NYSLM','PNK1P','PNK2N','SMX1','CNC1N','CNS1N','MTL1N','MTL2N','WEA1'];
$('#' + ckd.join(',#')).each(function() { // Select all these IDs
if (this.checked) { // Is this one checked?
checked = true;
}
return !checked; // Exit if any are checked
});
if (!checked) { // None are checked
MKDPTAlert1();
}
}
});
И моя попытка пользовательского правила проверки:
$.validator.addMethod(
"MKDPTOnly",
function(value, element, params) {
var checked = false;
var ckd = ['AMX1N','BMFNP','BMFNB','CFE1N','CBEXR','CBT1','CBTQL','CME1','CMEQL','CMX1','DCMX1','DMERT','DMEDL','ERX1N','ERXXN','EXC1N','EXD1N','EXR1N','EXI1N','IPE1','KCB1','LME1','DLME1','MPL1','NDQ1N','NDQL2','CEC1','ICEFI','NYM1','DNYM1','NYMQL','NYS1N','NYSLM','PNK1P','PNK2N','SMX1','CNC1N','CNS1N','MTL1N','MTL2N','WEA1'];$('#' + ckd.join(',#')).each(function() { // Select all these IDs
if (this.checked) { // Is this one checked?
checked = true;
}
return !checked; // Exit if any are checked
});
if (!checked) { // None are checked
}
}, Alert("foo");
);
Как видите, оно не работает.Я хотел бы, чтобы это отображалось как предупреждение, а не стандартная ошибка размещения.Нужно ли использовать var "ckd" в качестве параметра?Я не совсем понимаю, как они работают, но использовал их раньше с большой помощью.
Спасибо!