Javascript 选中/取消选中所有复选框并将值写入文本区域

标签 javascript forms checkbox input textarea

这是我的第一个 js 脚本,所以请对我温柔一些:)

问题是当我单击“检查全部”按钮时,所有复选框都会被选中,但它不会将值写入文本区域,如果我单击各个复选框,则会添加/删除值,没关系,我只是卡住了在该选中全部/取消选中全部按钮上。

http://jsfiddle.net/LAcgE/74/

function check(chk) {
    for (i = 0; i < chk.length; i++)
    chk[i].checked = true ;
}

function uncheck(chk) {
    for (i = 0; i < chk.length; i++)
    chk[i].checked = false ;
}

var itemsAdded = Array();

function movetext(text) { 
    var i = itemsAdded.indexOf(text)
    if ( i >= 0) { 
        itemsAdded.splice(i,1); 
    }
    else {
        itemsAdded.push(text);
    }
    document.getElementById("result").value=itemsAdded.join("\n"); 
}
<form action='#' method='post'>

  <input type='checkbox' value='aaa' name="add" onclick='movetext(this.value)'/>a
  <input type='checkbox' value='bbb' name="add" onclick='movetext(this.value)'/>b
  <input type='checkbox' value='ccc' name="add" onclick='movetext(this.value)'/>c
  <input type='checkbox' value='ddd' name="add" onclick='movetext(this.value)'/>d
  <input type='checkbox' value='eee' name="add" onclick='movetext(this.value)'/>e
    
  <input type="button" value="check all" onClick="check(this.form.add)">
  <input type="button" value="uncheck all" onClick="uncheck(this.form.add)">
    
  <textarea id="result" rows="8" cols="40"></textarea>
  <input type="submit" value="Submit">

</form>

最佳答案

用此替换您的选中和取消选中功能

function check(chk) {
    for (i = 0; i < chk.length; i++)
    {
        chk[i].checked = true ;
        movetext(chk[i].value);
    }
}

function uncheck(chk) {
    for (i = 0; i < chk.length; i++)
    {
        chk[i].checked = false ;
        movetext(chk[i].value);
    }
}

您只需手动调用其他方法即可。我在你的 fiddle 中试过了。

关于Javascript 选中/取消选中所有复选框并将值写入文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29307314/

相关文章:

javascript - 使用过渡动画从待办事项列表中添加/删除项目

cocoa 绑定(bind)没有按预期工作?尝试将 NSTextField 的启用绑定(bind)到复选框状态

php - 用于在多对多查找表中添加/删除条目的 HTML 复选框 (PHP/MySQL)

javascript - 如何在不使用正则表达式的情况下检查输入是否为表情符号?

javascript - 如何将超链接添加到我的 v-data-table 组件的“应用程序”列?

javascript - 自动为当前URL生成goo.gl短URL

javascript - 向网页提交多个表单

javascript - 使用javascript复制表单选项标签中的文本?

c# - 为什么我的Visual Studio 2019仍在编译最后一个程序而没有更改?

javascript - 当 parent 监听点击事件时,复选框在 ngTemplateOutlet 中不起作用 - 错误?