Этот вопрос находится в контексте сетки Kendo, но я считаю, что он одинаково применим к традиционной таблице.выберите/снимите определенные флажки в строке
В сетке есть элементы с левой стороны и столбцы, относящиеся к шагам, через которые проходят предметы. Часть функциональности заключается в том, что если флажок установлен, все предыдущие флажки в строке устанавливаются для проверки независимо от их начального состояния.
Это (из-за сетки Kendo), которое предполагается обрабатывать в функции JQuery, где функция проверяет, установлен ли конкретный флажок или нет, затем применяет тот же проверенный статус ко всем флажкам определенной строки которые соответствуют классам, которые встречаются перед отмеченным флажком.
Я ведущий верить (из моих в настоящее время ограниченных знаний в JQuery, и разрезки/вставляемые различный подобные фрагменты кода), что установка предыдущих флажков требуется что-то вроде кода ниже:
$("#Step2").change(function(){
if ($('#Step2').is(':checked')) {
$(this).parents('tr').closest(".Step1:checkbox").prop("checked", true);
}
else
{
$(this).parents('tr').closest(".Step1:checkbox").prop("checked", false);
}
});
Это, однако, не выбирает флажок предыдущего шага по желанию.
Столбцы сетки Кендо следующим образом, если это помогает:
columns: [
{ field: "Item" },
{ field: "Step1", title: "Step 1", attributes: {style: "text-align: center"}, template: '<input class="Step1" id="Step1" type="checkbox" #= Step1 ? "checked=checked" : "" # ></input>', headerTemplate: '<div style="text-align:center">Step 1<br/><input type="checkbox" id="step1Toggle"></input></div>' },
{ field: "Step2", title: "Step 2", attributes: {style: "text-align: center"}, template: '<input class="Step2" id="Step2" type="checkbox" #= Step2 ? "checked=checked" : "" # ></input>', headerTemplate: '<div style="text-align:center">Step 2<br/><input type="checkbox" id="step2Toggle"></input></div>' },
{ field: "Step3", title: "Step 3", attributes: {style: "text-align: center"}, template: '<input class="Step3" id="Step3" type="checkbox" #= Step3 ? "checked=checked" : "" # ></input>', headerTemplate: '<div style="text-align:center">Step 3<br/><input type="checkbox" id="step3Toggle"></input></div>' },
{ field: "Step4", title: "Step 4", attributes: {style: "text-align: center"}, template: '<input class="Step4" id="Step4" type="checkbox" #= Step4 ? "checked=checked" : "" # ></input>', headerTemplate: '<div style="text-align:center">Step 4<br/><input type="checkbox" id="step4Toggle"></input></div>' },
{ field: "Step5", title: "Step 5", attributes: {style: "text-align: center"}, template: '<input class="Step5" id="Step5" type="checkbox" #= Step5 ? "checked=checked" : "" # ></input>', headerTemplate: '<div style="text-align:center">Step 5<br/><input type="checkbox" id="step5Toggle"></input></div>' }
]
Я предполагаю, что сетка привязана к какой-то модели? И если это так, вам нужно отредактировать строку сетки, чтобы проверить/снять флажок? Потому что, если это так, вы можете поместить некоторый код в обработчик события редактирования, чтобы установить свойства шага модели на основе текущего шага, а затем, когда изменения будут сохранены/зафиксированы, все необходимые флажки будут автоматически проверяться. . –