【问题标题】:How to uncheck a checkbox using Javascript(closure)?如何使用Javascript(闭包)取消选中复选框?
【发布时间】:2016-03-19 06:21:47
【问题描述】:

我的 javascript 代码中有以下代码

goog.dom.$(changeIdStr).getElementsByTagName('input')[0].checked = false console.log(typeof(goog.dom.$(changeIdStr).getElementsByTagName('input')[0].checked) console.log(goog.dom.$(changeIdStr).getElementsByTagName('input')[0].checked); console.log(goog.dom.$(changeIdStr).innerHTML);

对应的日志是

布尔值

<label><input type="checkbox"
onclick="handleSelectedUrl('selected_1_0', 'selected_', 'url_')"
name="selected[]" value="http://www.imdb.com/title/tt2948356/"
checked=""><a href="http://www.imdb.com/title/tt2948356/"
target="_blank">http://www.imdb.com/title/tt2948356/</a></label>

那么为什么checked属性为false,HTML中还有checked=""。

【问题讨论】:

    标签: javascript html checkbox google-closure


    【解决方案1】:

    它需要是checked="true" 而不是checked="" 才能返回true。

    【讨论】:

    • 所以我做了 goog.dom.$(changeIdStr).getElementsByTagName('input')[0].checked=false;在所有记录之前。你知道为什么它不取消选中该框吗?
    • 这可能是闭包库的问题,尝试.removeAttribute('checked')取消选中
    【解决方案2】:

    对于一个复选框,默认情况下如果它是 false 则没有在 html 中添加选中的属性。

    但在那之后,如果您将其设为 true 或选中,则属性将被添加并设置为“选中”。如果您将其设置为未选中或为 false,它会变为空,但不会删除复选框属性。这相当于复选框 false。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-14
      • 2012-01-02
      • 2014-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-22
      相关资源
      最近更新 更多