Action привязка span к checkbox?

<ul class="zn_check_list">
	<li>
		<span class="checkbox" style="background-position: 0px 0px;"></span>
		<input id="a" style="display:none" type="checkbox" name="uslugiForm">
		<label for="a"> Выезд и оценка</label>
	</li>
	<li>
		<span class="checkbox" style="background-position: 0px 0px;"></span>
		<input id="b" style="display:none" class="styled" type="checkbox" name="uslugiForm">
		<label for="b"> Доставка</label>
	</li>
</ul>

То есть, оформление чекбокса стоит в span. При нажатии должно выводить дополнительную форму. Но работает только при клике на label.
Как заставить и span при клике делать тоже самое?
Сам JS
$('ul.zn_check_list li input[name="uslugiForm"]').click(function(){
		if( $('ul.zn_check_list li input[name="uslugiForm"]').is(':checked')) {
        	$("ul.zn_check_list_inputZakaz").show(200);
		} else {
			$("ul.zn_check_list_inputZakaz").hide(100);
		}
	})
  • Вопрос задан
  • 2849 просмотров
Решения вопроса 1
iiil
@iiil
Инженер и вэб-дизайнер, рисую.
Не самый лучший способ, но с меньшими проблемами - поставьте span внутрь label (красным цветом ваши спаны)
jsfiddle.net/iiil/6U6bB/2

upd:
На самом деле все просто )
$('ul.zn_check_list li input[name="uslugiForm"], span.checkbox').click(function(){
		if( $('ul.zn_check_list li input[name="uslugiForm"]').is(':checked')) {
        	$("ul.zn_check_list_inputZakaz").show(200);
		} else {
			$("ul.zn_check_list_inputZakaz").hide(100);
		}
	})

Проверил через консоль - работает. Попробуйте.

Запарился, сделал пример. Все точно работает. Ищи где и что сделали не так.
jsfiddle.net/iiil/ts8G7/5
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@lnked
посмотри мое решение без скриптов lnked.ru/css/stilizovannyy_checkbox_bez_javascript
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы