Почему jQuery не поднимает флажок «клик»? - PullRequest
0 голосов
/ 18 июля 2011

Я пытаюсь включить здесь с флажками в Rails.

Мой HTML выглядит так:

<div>
  <input id="reservation_item_ids_" name="reservation[item_ids][]" type="checkbox" value="17">

RCF, 32,0 € / врк

И такой код (я использую jQuery вместо $, чтобы попытаться избежать конфликтов с прототипом, который используется по умолчанию в Rails 3):

    console.log("Initialize!");
jQuery("input[type=checkbox]").click(function() {
    console.log("Clicked!");

   var total = 0;

    jQuery("input[type=checkbox]:checked").each(function() {
    total += parseFloat(jQuery(this).val());
    });

    jQuery("#totalSum").val(total);
});

Моя консоль дает мне только это:

Инициализировать!

.. независимо от того, сколько я нажимаю на флажки .. Я также попытался заменить "input [type = checkbox]" на "#reservation_item_ids" безуспешно.

Никаких ошибок, никаких подсказок ..

Ответы [ 3 ]

2 голосов
/ 18 июля 2011

Вам нужно сделать это:

jQuery(document).ready(function($) {
    jQuery("input[type=checkbox]").click(function() {
        alert('It works!')
    })
})
0 голосов
/ 18 июля 2011

Ваш код выше не проблема, он отлично работает для меня. Я настраиваю тестовую страницу, содержащую только следующее:

<form>
    <input id="num1" type="checkbox" value="1"><br />
    <input id="num2" type="checkbox" value="1"><br />
    <input id="num3" type="checkbox" value="1"><br />
    <input id="num4" type="checkbox" value="1"><br />

    <input type="submit" value="Submit" />
</form>

Я даже предупредил вашу сумму, она работает просто отлично! Вероятно, это тот случай, когда селектор не поднимает ваши флажки из-за способа их установки. Вы можете скопировать / вставить код формы?

0 голосов
/ 18 июля 2011

Это динамический HTML?Вы пробовали использовать live ()?

jQuery("input[type=checkbox]").live('click', function() {

некоторым системам не очень нравится метод "щелчка".

...