2015-01-28 2 views
1

Я использую iCheck jQuery library и не могу найти способ определить, к какому элементу относится событие. Настройка любого из обратных вызовов всегда возвращает каждый элемент, а не только тот, который я нажал. Мне нужно найти, какой элемент был переключен, а не все.jquery icheck callback - который был нажат

$("input").on('ifToggled', function(e){ 
    console.log(this); //returns all 3 checkboxes below 
    console.log(e.currentTarget); //returns all 3 checkboxes below 
    console.log(e.target); //returns all 3 checkboxes below 
}); 

<input type="checkbox" class="icheck" name="exercise[27][save_as_default]" style="position: absolute; opacity: 0;" value="1"> 
<input type="checkbox" class="icheck" name="exercise[498][save_as_default]" style="position: absolute; opacity: 0;" value="1"> 
<input type="checkbox" class="icheck" name="exercise[240][save_as_default]" style="position: absolute; opacity: 0;" value="1"> 
+0

Возможно, вместо этого можно изменить ifChanged, изменение состояния также можно определить с помощью jquery, не уверен, почему вам нужно использовать метод lib. – Huangism

+0

Собственный jQuery не обнаруживает его, потому что флажок в iCheck не является флажком (это div с фоновым изображением, которое выглядит как флажок). Использование библиотеки в основном делает вид флажка согласованным в разных браузерах и платформах. – jpea

+0

Правильно, возможно, более полезно опубликовать сгенерированный код. – Huangism

ответ

0

Вы можете сделать это без каких-либо внешних библиотек

$(".icheck").on('change', function(){ 
    console.log(this.name); 
}); 
1

После того, как я дал CheckBox элементы уникальных идентификаторов, он работал.