Событие onchange(checkbox) для двух div
Здравствуйте.
function showOrHide(cb, cat) { cb = document.getElementById(cb); cat = document.getElementById("cat_" + cat); disc_cat = document.getElementById("disc_cat_" + cat); if (cb.checked){ cat.style.display = "block"; disc_cat.style.display = "block";} else {cat.style.display = "none"; disc_cat.style.display = "none";} } <input type="checkbox" name="cb1" id="check1" value="1" checked="checked" onchange = 'showOrHide("check1", 1);' /> <input type="checkbox" name="cb2" id="check2" value="2" checked="checked" onchange = 'showOrHide("check2", 2);' /> $items = array(1, 2); $i = 1; foreach($items as $item){ echo '<div name="qu-qu" id="cat_' .$i. '">здесь идет код</div>'; echo '<div name="quqareku" id="disc_cat_' .$i. '">здесь другой код</div>'; $i++; } Проблема в том, что при нажатии на чекбокс срабатывает "display:none;" только для первого дива. Второй див ни в какую не работает. Выдает ошибку:"Cannot read property 'style' of null" Пожалуйста, подскажите, как сделать так, чтобы при нажатии на чекбокс сработало сразу два дива одновременно. Спасибо! |
rafaello,
строки 3 и 4 поменяйте местами |
Ура... заработало!!!
А что это было? Как это понять? |
Заодно подскажите пожалуйста...
В момент срабатывания функции showOrHide() кроме того, что она изменяет стиль с "display:none" на "display:block", надо еще изменить класс. Было class="currtext required qtc_requiredoption" Надо class="currtext" Что надо дописать в эту функцию, чтобы еще изменять класс? |
Цитата:
строка 4: строку "disc_cat_" сложили с обьектом --- такого id естественно нет. Цитата:
cat.className = "currtext" //.... cat.className = "currtext required qtc_requiredoption" |
Понял.... Спасибо за помощь!!!!
|
Часовой пояс GMT +3, время: 00:31. |