Javascript选中/取消选中所有复选框并将值写入textarea

时间:2015-03-27 18:03:22

标签: javascript forms checkbox input textarea

这是我的第一个js剧本,所以对我很温柔:))

问题是当我点击检查所有按钮时,所有复选框都被选中但它不会将值写入textarea,如果我点击单个复选框然后添加/删除该值,那就没问题,我&#39 ;我只是坚持检查全部/取消选中所有按钮。

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"); 
}
&#13;
<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>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

用此

替换您的支票并取消选中功能
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);
    }
}

您只需手动调用其他方法即可。我试着用你的小提琴。

答案 1 :(得分:1)

你忘记在check()和uncheck()函数中调用movetext()函数。 在选中/取消选中后添加:

movetext(chk[i].value);