2013-07-15 3 views
0

Я читал здесь несколько вопросов, но я все еще немного смущен, чтобы обработать флажки в jQuery.Как запустить функцию каждый раз, когда флажок установлен через jQuery?

Для следующего HTML:

<div><input type="checkbox" id="checkBox"/>Checkbox</div> 

Я хотел бы запустить функцию JavaScript, когда пользователь нажимает на флажок, но не тогда, когда пользователь неустановленными флажок.

Я пытался код, используя jQuery .is(':checked'), но, похоже, не получил никакого ответа, и когда я попытался использовать и если ... else заявление в $("#checkBox").change(function() {}), чтобы вернуться взад и вперед, все виды случайных вещей произошли ,

Любые советы о том, как начать? Очень ранний новичок здесь, спасибо за ваше терпение.

+0

Пожалуйста, пост JQuery вы пробовали. – j08691

+2

Как указал lonesomeday в скрытом комментарии, 'checkBox.checked' вернет true или false, где' checkBox' является фактическим элементом DOM input-checkbox. – user2246674

ответ

1
$("#checkBox").change(function() { 
    if(this.checked){ 
     // yesh here 
    } 
}) 

Добавлен родной JS после комментария. Чтобы немного расширить, можно использовать собственный JS. Почти все нормальные ситуации быстрее и менее ресурсоемкими. По этой же причине вы не используете $(this).attr('id') но this.id

Это должен быть помещен в документ готов, если yyou предпочитают .on() метод:

$("#checkBox").on('change', function() { 
    if(this.checked){ 
     // yesh here 
    } 
}) 
0

Вы можете сделать это с помощью:

$('#checkbox').on('change', function() { 
    if (this.checked) { 
     // Do your stuff 
    } 
}); 
+2

Или, чтобы сделать это намного быстрее, 'if (this.checked) {'. – lonesomeday

+0

Wow спасибо, ребята! – kusoultrain

+0

Спасибо @lonesomeday! –

1

Попробуйте это:

$('#checkbox-id').change(function() { // change #checkbox-id with our checkbox id 
    var el = $(this); 
    if (el.prop('checked')) { 
     // add your code here 
    } 
}); 
Смежные вопросы