2015-05-01 8 views
-3

Мой исходный код:Jquery по щелчку не работает очень странно

<input class="eanvoera5" type="checkbox" name="nieuwpid"> 

получает преобразованный для дизайна в коде ниже: (при просмотре страницы в браузере)

<div class="icheckbox_minimal checked" style="position: relative;" aria-checked="true" aria-disabled="false"> 
    <input class="eanvoera5" type="checkbox" name="nieuwpid" style="position: absolute; opacity: 0;"> 
    <ins class="iCheck-helper" style="position: absolute; top: 0%; left: 0%; display: block; width: 100%; height: 100%; margin: 0px; padding: 0px; background: none repeat scroll 0% 0% rgb(255, 255, 255); border: 0px none; opacity: 0;"></ins> 
    </div> 

Проблема:

Я не могу заставить мои функции Jquery работать для флажка. Если этот флажок установлен, я хочу показать/скрыть другое поле.

Код Jquery:

$(".eanvoera5").on('click', function() { 
alert('hitest'); 
} 

Его сводит меня с ума .. Кто-то есть идея?

+1

Есть ли какая-либо ошибка в консоли? –

+0

Хорошо выглядит, что когда-либо делает этот код, он скрывает ваш флажок, поэтому вы не будете нажимать на этот элемент. Надеемся, что этот код вызывает событие изменения, которое вы также можете связать. – epascarello

+1

'opacity: 0;' как вы можете увидеть этот флажок и щелкнуть его? – renakre

ответ

2

Вы не хватает ); в конце вашей функции ...

$(".eanvoera5").on('click', function() { 
 
    alert('hitest'); 
 
}); // <!-- HERE
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<input class="eanvoera5" type="checkbox" name="nieuwpid">

+0

Спасибо. Я знаю, что это работает, это была опечатка для примера. нормальный код работает, но мой код переписывается для дизайна, как вы можете видеть в моем примере. – AVGG

+0

Ваш пример также работает - http://jsfiddle.net/atqwzjvu/1/ – Turnip

+0

Некоторые AJAX меняет это впоследствии, я знаю, если я напишу этот код прямо в моем источнике, его работа. Но спасибо. – AVGG

0

Как вы можете видеть, что есть ошибка синтаксиса, как вам не хватает закрытия );, но что кажется для меня, что DOM изменяется с помощью какой-либо другой операции с скриптом. Как уже упоминался, это может быть возможно, что вы должны передать событие в ближайший статический родитель или к документу:

И вместо click вы должны использовать change потому флажки проверили опору, которая всегда получает изменена при нажатии хотя клик также работает.

$("body").on('change', ".eanvoera5", function() { 
    alert('hitest'); 
}); 
+0

Ваш ответ кажется самым верным. Все еще не работает. Будем экспериментировать дальше, спасибо. – AVGG

0

Может быть, изменив функцию щелчка на что-то вроде этого для JQuery

$(".eanvoera5").click(function() { 
    alert('hitest'); 
}); 

принять к сведению заключение );, как все выше

https://jsfiddle.net/ToreanJoel/jjd2ode8/

0
$(".eanvoera5").on('ifChecked', function(event){ 
alert('hitest'); 
}); 

Эта функция работает , Документация можно найти здесь: https://github.com/fronteed/iCheck

iCheck не работает с JQuery.

Смежные вопросы