【问题标题】:Accessing check box via id通过 id 访问复选框
【发布时间】:2013-12-12 19:32:29
【问题描述】:

在项目中有这个外部 .js 文件,它链接到一个 .jsp 文件。我需要确认是否选中了 .jsp 文件中的某个复选框,并且我必须从 .js 文件中进行检查。假设复选框的 id 是:“fruit”。

我在 .js 文件中编写了以下代码:

if(fruit=="true"){console.log('checked');}

不知何故,控制台语句永远不会被打印出来,我不确定上述代码有什么问题。希望有人可以建议。谢谢你。

【问题讨论】:

标签: javascript html jsp dom


【解决方案1】:

这是因为fruit 指的是HTMLInputElement 对象,而不是字符串。

最小的改变是使用该元素的checked 属性:

if(fruit.checked){console.log('checked');}

但请注意,您所依赖的事实是,具有id 属性的元素会使用id 中的名称转储到全局命名空间中。我通常不依赖它,因为其他东西很容易覆盖自动全局(并且因为该行为没有在任何地方指定,在我看来这是一个非常糟糕的主意;遗憾的是,我认为它会成功不久之后进入规范)。

因此,与其依赖它,通常使用document.getElementById

if(document.getElementById("fruit").checked){console.log('checked');}

(或者,当然,像 jQuery 这样的库可以让它更短一些,但如果这就是你所做的一切,那么就不需要库了。)

【讨论】:

    【解决方案2】:

    使用 jquery 应该是:

    if($('#fruit').prop('checked')){ console.log('checked');}
    

    【讨论】:

      猜你喜欢
      • 2016-09-16
      • 1970-01-01
      • 2021-09-24
      • 1970-01-01
      • 2012-12-24
      • 2013-07-12
      • 2011-05-06
      • 2018-12-03
      • 1970-01-01
      相关资源
      最近更新 更多