checkbox (Поставить/убрать галочку)
Ребят подскажите по работе с чек боксом.
Написал функцию, писал ее по шаблону, по этому она как всегда не работает. function change(frm){ var elem=frm; if(document.getElementById(elem).checked=='true';) document.getElementById(elem).checked='false'; else document.getElementById(elem).checked='true'; } } И сам код вызова: <td onclick="change('<?=$SubKey.$id?>');" class="layer1"> <?=$Value?> <br /> <br /><div class="layer2"> <input type="checkbox" id="<?$SubKey.$id?>" name="option1" value="<?=$SubKey.':'.$id?>"> </div> </td> Суть такова, есть таблица, в ней куча ячеек при нажатии на ячейку отмечается чек бокс который в этой ячейке. Еще раз нажать, чекбокс слетает. Вопрос, как оживить скрипт? |
NitroGenerate, но ведь в ячейке находится и сам checkbox...смысл?
не лучший вариант называть функции change, click и т.п. function cbx_chng(cbx) { if (document.getElementById(cbx).checked) { document.getElementById(elem).checked = "false"; } else { document.getElementById(elem).checked = "true"; } } |
NitroGenerate,
А обязательно это скриптом делать? Ведь можно обвернуть input в label и сделать лэйбл блочным с высотой и шириной в 100%. Тогда при клике в любом месте ячейки чекбокс будет срабатывать. Вот посмотрите в песочнице http://learn.javascript.ru/play/Px6Ncc Или сразу код: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body> <table> <tr> <td style="width:200px; height: 200px; border:1px solid #999;"> <label style="display:block; width:100%; height:100%;"><input type="checkbox" /></label> </td> </tr> </table> </body> </html> Все зависит от целей и задач, но вариант вполне рабочий ;) |
Часовой пояс GMT +3, время: 04:57. |