Установить checkbox при нажатии на input
Использую следующий код spoiler:
function showSpoiler(obj) { var inner = obj.parentNode.getElementsByTagName("div")[0]; if (inner.style.display == "none") inner.style.display = ""; else inner.style.display = "none"; } <div class='spoiler'> <input onClick='showSpoiler(this);' value='показать' type='button' /> <div style='display: none;'> здесь скрыто <input type='checkbox' name=name_2[]' /> </div> </div> <div class='spoiler'> <input onClick='showSpoiler(this);' value='показать' type='button' /> <div style='display: none;'> здесь скрыто <input type='checkbox' name='name_1[]' /> </div> </div> Вопрос, можно ли при нажатии на кнопку - показать, установить checkbox? И наоборот, при закрытии убрать checkbox. Устанавливать checkbox нужно только в своем <div>, т.е. если нажмем на кнопку где у checkbox имя - name_1, то поставится checkbox в name_1. |
SLameN,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script> function showSpoiler(obj) { var inner = obj.nextElementSibling; inner.style.display = inner.style.display == "none" ? "" : "none"; var input = inner.querySelector('input'); input.checked = inner.style.display != "none" } </script> </head> <body> <div class='spoiler'> <input onClick='showSpoiler(this);' value='показать' type='button' /> <div style='display: none;'> здесь скрыто <input type='checkbox' name=name_2[]' /> </div> </div> <div class='spoiler'> <input onClick='showSpoiler(this);' value='показать' type='button' /> <div style='display: none;'> здесь скрыто <input type='checkbox' name='name_1[]' /> </div> </div> </body> </html> |
рони,
большое спасибо, какой раз уже выручаешь :) Не могу поставить +, т.к. последний раз ставил тебе |
Еще раз большое спасибо за помощь. Подскажите, пожалуйста, а возможно сделать так: в каком та из дивов сделать определенный класс и согласно этому классу делать чеки. Просто у меня есть точно такой же код (html), но там чеков много и не все они должны выбираться, только в определенных случаях. Определенные случаи будут классы в дивах.
Например: <div class='spoiler' id='определенный случай'> или <div class='определенный случай'> <div class='spoiler'> |
SLameN,
а присвоить нужным 'checkbox' класс и ставить checked только им? var input = inner.querySelector('.определённый класс'); |
Да, то, что нужно! Респект ;)
|
Часовой пояс GMT +3, время: 13:49. |