【问题标题】:Checkbox in <a href> tag [duplicate]<a href> 标签中的复选框[重复]
【发布时间】:2016-04-27 00:38:56
【问题描述】:

这是我的 HTML 代码:

<a id="id_1" name="n_1" href="#" onclick="callFn(this.id);">
    <input type="checkbox" name="ck_1" id="xyz">
    Click Here
</a>

我想使用 Javascript 代码选中此复选框。怎么办??

【问题讨论】:

  • 您的 HTML 无效。锚点不能包含交互元素,包括输入元素。
  • 我怀疑您的问题的解决方案是“使用标签元素,而不是锚点”

标签: javascript html


【解决方案1】:

使用&lt;label&gt; 而不是&lt;a&gt;

<label id="id_1" onclick="callFn(this.id);">
    <input type="checkbox" name="ck_1" id="xyz">
    Click Here
</labek>

这是&lt;label&gt;标签的使用。而且,你根本不需要callFn(this.id);

【讨论】:

  • 正确的 html,只是不回答 javascript 问题
  • @Gavriel 请删除您的评论。我会添加更多信息。
  • 不需要,因为这是一个重复的问题:)
  • 感谢您的建议。而且,我需要 callFn(this.id) 因为我在后面做一些计算
  • @Gavriel 如果你要标记一个重复,至少选择一个相关的。
【解决方案2】:

这里很简单DEMO..希望对您有所帮助

    $("#check").click(function() {
        var checkBoxes = $("#xyz");
        checkBoxes.attr("checked", !checkBoxes.attr("checked"));
    }); 
<label id="id_1" onclick="callFn(this.id);" for="xyz">
    <input type="checkbox" name="ck_1" id="xyz">
    Click Here
</labek>
<br/>
<button id="check">By button</button>

【讨论】:

    【解决方案3】:

    使用 ID 获取元素:document.getElementById("xyz")

    然后将其属性checked改为true:

    document.getElementById("xyz").checked = true;

    【讨论】:

    • 您的答案可能是正确的,但请添加更多内容,以便初学者能够理解您的意思。社区想帮助你,我们尽力而为,但我们只能理解有意义的问题。在查看 StackOverflow 的帮助中心页面了解如何写出好的答案后,尝试以不同的方式格式化您的问题。
    猜你喜欢
    • 2014-08-24
    • 1970-01-01
    • 2020-08-06
    • 1970-01-01
    • 1970-01-01
    • 2017-06-21
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多