为什么 jQuery 不选择复选框“单击”事件?

发布于 2024-11-24 12:40:48 字数 890 浏览 0 评论 0原文

我试图在这里合并 带有 Rails 上的复选框。

我的 HTML 如下所示:

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

RCF,32.0 €/vrk

和这样的代码(我使用 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);
});

我的控制台只给我这个:

初始化!

..无论我点击复选框多少次..我也尝试用“#reservation_item_ids”替换“input[type=checkbox]”,但没有成功。

没有错误,没有任何线索..

I'm trying to incorporate this here with checkboxes on Rails.

My HTML looks like this:

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

RCF, 32.0 €/vrk

And the code like this (I'm using jQuery instead of $ to try to avoid conflicts with prototype, which is used by default in 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);
});

My console gives me only this:

Initialize!

..regardless of how much I click the checkboxes.. I also tried replacing "input[type=checkbox]" with "#reservation_item_ids" with no luck.

No errors, no clues whatsoever..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

生死何惧 2024-12-01 12:40:49

你需要这样做:

jQuery(document).ready(function($) {
    jQuery("input[type=checkbox]").click(function() {
        alert('It works!')
    })
})

You need to do this:

jQuery(document).ready(function($) {
    jQuery("input[type=checkbox]").click(function() {
        alert('It works!')
    })
})
爺獨霸怡葒院 2024-12-01 12:40:49

这是动态 HTML 吗?你尝试过 live() 吗?

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

有些系统不太喜欢“点击”方法。

Is this dynamic HTML? Have you tried live()?

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

some systems don't like the "click" method so much.

旧竹 2024-12-01 12:40:49

你上面的代码不是问题,它对我来说工作得很好。我设置了一个测试页面,其中仅包含以下内容:

<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>

我什至提醒了您的总数,它工作得很好!由于您设置复选框的方式,选择器可能没有选择您的复选框。您可以复制/粘贴您的表单代码吗?

Your above code is not the problem, it works fine for me. I setup a test page with only the following in it:

<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>

I even alerted out your total, it works just fine! It's probably the case that the selector is not picking up your checkboxes due to the way you've set them up. Can you copy/paste your form code?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文