33 lines
2.3 KiB
JavaScript
Executable File
33 lines
2.3 KiB
JavaScript
Executable File
//// Этот хитрый скрипт служит для управления чекбоксами "Преимущественное право"/"Льгота". Поскольку для одного и тоже кода может быть несколько состояний specific_law
|
||
function updateCheckbox(number) {
|
||
//// Сначала парсим хитрый ключ словаря "ХХХХ_YY_Z", где:
|
||
//// --- ХХХХ это guid льготы/спец_отметки
|
||
//// --- YY флаг: specmark - SpecialMark, priv - Privilege
|
||
//// --- Z указывает на "преимущественное право"
|
||
var value = $("#lgot_id_".concat(number)).val();
|
||
value = value.split("_")[2]; //// поведение описанное ниже мне не понятно, но я его просто воспроизвёл, как того требовала система
|
||
|
||
if (value == 1) {
|
||
$(".field-specific_law_".concat(number)).find($('input[type="checkbox"]')).prop("checked", true);
|
||
$(".field-specific_law_".concat(number)).find($('input[type="checkbox"]')).prop("disabled", true);
|
||
$(".field-concession_low_".concat(number)).find($('input[type="checkbox"]')).prop("checked", false);
|
||
$(".field-concession_low_".concat(number)).find($('input[type="checkbox"]')).prop("disabled", true);
|
||
} else if (value == 0) {
|
||
$(".field-specific_law_".concat(number)).find($('input[type="checkbox"]')).prop("checked", false);
|
||
$(".field-specific_law_".concat(number)).find($('input[type="checkbox"]')).prop("disabled", true);
|
||
$(".field-concession_low_".concat(number)).find($('input[type="checkbox"]')).prop("checked", true);
|
||
$(".field-concession_low_".concat(number)).find($('input[type="checkbox"]')).prop("disabled", false);
|
||
} else {
|
||
$(".field-specific_law_".concat(number)).find($('input[type="checkbox"]')).prop("checked", false);
|
||
$(".field-concession_low_".concat(number)).find($('input[type="checkbox"]')).prop("checked", false);
|
||
$(".field-specific_law_".concat(number)).find($('input[type="checkbox"]')).prop("disabled", false);
|
||
$(".field-concession_low_".concat(number)).find($('input[type="checkbox"]')).prop("disabled", false);
|
||
}
|
||
}
|
||
|
||
$('.lgot-code').change(function () {
|
||
updateCheckbox($(this).data('number'));
|
||
});
|
||
$('.lgot-code').each(function () {
|
||
updateCheckbox($(this).data('number'));
|
||
}); |