【问题标题】:JQuery Checkbox HandlingJQuery 复选框处理
【发布时间】:2010-11-17 20:03:24
【问题描述】:

我有一个关于 Jquery 和复选框的简单问题。我以前从未使用过 JQuery,但基本上我有一个复选框,当用户进入页面时,它默认设置为“选中”。我希望 jquery 检测到它被选中,然后触发一个单独的函数。

我只能在用户单击复选框时让它工作,但我不希望它这样做。所有这些都将在用户不触碰任何东西的情况下完成。

这是我有但不起作用的功能:

if ($('#discount:checked').val!== null) { 更改价格(); };

提前谢谢你!

【问题讨论】:

  • 那么您知道如何捕获事件吗?您只想知道如何判断它是否已被检查?如果是这样,请删除最后一个分号。其余的应该可以正常工作。

标签: jquery inputbox


【解决方案1】:
$(document).ready(function(){
   if ($('#discount:checked').length > 0) { changeprice(); }
});

【讨论】:

  • ..请注意:if ($('#discount:checked').length) {...} 在功能上与if ($('#discount:checked').length > 0) {...} 相同,因为 -1 和 0 计算为假,任何大于 0 的整数计算为真。
  • @John 好点。但是,我认为使用不评估为布尔值的条件可读性较差。
  • @Adam...也许吧,但是在使用了这种方法并习惯了它之后,它就变成了一个偏好问题。
【解决方案2】:

您可能希望在 DOM 实例化之前保存您的代码。幸运的是,jQuery 提供了一个很好的方法来做到这一点:

$(document).ready(function () {
    if ($('#discount:checked').val !== null)
    {
        changeprice();
    }
});

$(document).ready 成语是在 jQuery 中加载页面后尽快完成某些事情的标准方法。

【讨论】:

  • $('#discount:checked').val 不是预期的......它应该是$('#discount:checked').val()
【解决方案3】:

我想这就是你想要的:

if ($('#discount:checked').length == 1) { changeprice(); };

【讨论】:

    【解决方案4】:
    if ($('#discount').attr('checked')) changeprice();
    

    【讨论】:

      【解决方案5】:

      jQuery val() 方法需要这样调用:

      if ($('#discount:checked').val() !== "") { changeprice(); }; 
      

      最重要的是,您应该使用$(document).ready() 函数在页面加载时执行命令。

      最后,使用checked selector 会更容易。

      $(document).ready(function () {
        if ($('#discount:checked').length) {  // if the discount checkbox is checked
          changeprice(); 
        }
      });
      

      【讨论】:

        【解决方案6】:

        也许你可以把复选框,在文档就绪方法中检查代码,

        $(document).ready(
          function(){
             if($("#discount").is(':checked')) { changeprice();}
           }
        );
        

        问候, 贾坦

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-05-27
          • 2011-03-27
          • 1970-01-01
          • 1970-01-01
          • 2014-12-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多