Установить 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, время: 09:22. |