繁体   English   中英

HTML复选框onclick在Javascript中调用

[英]HTML checkbox onclick called in Javascript

我在尝试弄清楚如何使我的代码的某些部分工作时遇到了一些麻烦。

<input type="checkbox" id="check_all_1" name="check_all_1" title="Select All" onclick="selectAll(document.wizard_form, this);">
<label for="check_all_1" onclick="toggleCheckbox('check_all_1'); return false;">Select All</label>

这是我的HTML工作原理(单击文本将单击该框)。 它的javascript非常简单:

function toggleCheckbox(id) {
    document.getElementById(id).checked = !document.getElementById(id).checked;
}

但是,当标签是单击复选框的时候,我希望输入发生onclick。 在这个当前时间onClick js不会去。 关于如何做到这一点的一个建议是什么? 我试图将输入的onclick添加到标签的onclick,但这不起作用。

任何建议/解决方案都会很精彩。

如何将checkbox 放入 label ,使标签自动“点击敏感”复选框,并给复选框一个onchange事件?

<label ..... ><input type="checkbox" onchange="toggleCheckbox(this)" .....> 

function toggleCheckbox(element)
 {
   element.checked = !element.checked;
 }

这将另外捕获用户使用键盘切换复选框,某些onclick不会。

没有onclick的标签将按预期运行。 它改变了输入。 你真正想要的是当你点击一个标签时执行selectAll() ,对吧? 然后只在标签上添加select all all。 或者将输入包装到标签中,并仅为标签分配onclick

<label for="check_all_1" onclick="selectAll(document.wizard_form, this);">
  <input type="checkbox" id="check_all_1" name="check_all_1" title="Select All">
  Select All
</label>

jQuery有一个可以做到这一点的功能:

  1. 在你的头脑中包含以下脚本:

     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script> 

    (或者只是在线下载jQuery.js文件并在本地包含它)

  2. 单击输入时,使用此脚本切换复选框:

     var toggle = false; $("#INPUTNAMEHERE").click(function() { $("input[type=checkbox]").attr("checked",!toggle); toggle = !toggle; }); 

如果我明白你想要做什么,那应该做你想要的。

您还可以从HTML中提取事件代码,如下所示:

<input type="checkbox" id="check_all_1" name="check_all_1" title="Select All" />
<label for="check_all_1">Select All</label>

<script>
function selectAll(frmElement, chkElement) {
    // ...
}
document.getElementById("check_all_1").onclick = function() {
    selectAll(document.wizard_form, this);
}
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM