Смена checkbox и цвета ячейки в таблице
Ответ на решение частично здесь , хочу развить. Ниже мой пример и реализация оттуда, прошу помощь объединить.
Есть html таблица, с особенными ячейками. Каждая ячейка "особенная" содержит один checkbox. Смысл в том чтобы менять её цвет кликом и устанавливать в checkbox флаг. Менять только у этих особенных. Они имеют класс в тэг <td>. Реализовал смену цвета при установке флага в checkbox. Не знаю как сменить цвет кликом по ячейке. Не знаю как соединить это с флагом у checkbox, чтобы я с ним работать смог. var boxes = $("input:checkbox"); var table = document.forms["table"]; var elements = table.getElementsByTagName('td'); var checkTd //из всех ячеек выбираются только "особенные" for (var i = 0; i < elements.length; i++) { if (elements[i].className == 'select_checkbox') { checkTd +=elements[i]; } } $("input:checkbox").on("change", function () { for (var k = 0; k < boxes.length; k++) { var checkbox = boxes[k]; if ($(checkbox).prop('checked')) { if (checkbox == checkTd[k]) //если ячейка и checkbox по номеру совпали { checkTd[k].bgColor = '#ccc';} //далее шла работа с выбранными checkbox } } }); Вот так выглядит "особенная" ячейка: Код:
<td class="select_checkbox" onclick = "cellClick(td)"> function cellClick(td) { td.bgColor = '#006699'; for (var childItem in td.childNodes) { if (td.childNodes[childItem].nodeType == 1) { td.childNodes[childItem].checked = true; td.querySelector("input[type=checkbox]").checked = true; } } |
IvanDaMaria,
подожду телепата-переводчика |
Цитата:
|
IvanDaMaria,
<td class="select_checkbox" onclick = "cellClick(td)"> Эта td ни про что. Замените на this |
Спасибо за ответы. Реализовал решение, а html таблица была по-дурацки рандомна и динамическая. можно удалять тему.
|
Часовой пояс GMT +3, время: 02:42. |