如何使用javascript删除复选框

时间:2013-10-29 05:07:56

标签: javascript html checkbox

我正在使用这个HTML页面,我可以通过单击添加按钮添加一个复选框以及标签,无论如何我也可以有一个删除按钮,以便在我选择一个复选框时并按下删除按钮复选框以及文本框被删除??请在下面找到我的代码!!

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function Add()
{
var checkbox=document.createElement('input');
var inps=document.createElement('input');
var output=document.getElementById('output');
checkbox.type='checkbox';
inps.type='text';
inps.name='textboxname';
checkbox.name='checkname';
output.appendChild(checkbox);
output.appendChild(inps);
output.appendChild(document.createElement('br'));
}
</script>
</head>
<body>
<form action="http://localhost:9990" method="post">
<span id="output"></span>
<input type="button" value="Add" onclick="Add()">
<center>
<p>
<input type="file" name="datafile" size="40">
</p>
<div>
<input type="submit" value="Send">
</div>
</center>
</form>
</body>
</html>

3 个答案:

答案 0 :(得分:1)

示例HTML

<div>
    <input type='checkbox' value='asd' id='test' name='test' />
    <input type='checkbox' value='asd' id='tester' name='test' />
    <input type='button' value='remove' id='rmvBtn' />
</div>

在纯JavaScript中,你可以这样做,

var rmvBtn = document.getElementById('rmvBtn');

rmvBtn.addEventListener('click', function(){
   var rmvCheckBoxes = document.getElementsByName('test');

    for(var i = 0; i < rmvCheckBoxes.length; i++)
    {
        if(rmvCheckBoxes[i].checked)
        {
            removeElm(rmvCheckBoxes[i]);    
        }
    }  
});

function removeElm(elm){
   elm.parentElement.removeChild(elm);
}

JS Fiddle

答案 1 :(得分:1)

将所有可能被删除的复选框放在同一个类中。另外标记可以使用自己的类删除的所有文本框。我的复选框将标有chk,我的文本框将标有txt。如:

<input type="checkbox" class = 'chk' /> and
<input type="text" class = 'txt' />

只要复选框和文本字段为1到1,以下解决方案就可以正常工作。

您将添加到删除按钮的功能将遍历所有复选框,看看它们是否被删除,然后删除已选中的复选框。

继承人JS:

function delBoxes(){
    var boxes = document.getElementsByClassName('chk');
    var texts = document.getElementsByClassName('txt');
    for(var i = 0; i<boxes.length; i++){
        box = boxes[i];
        txt = texts[i];
        if(box.checked){
            box.parentNode.removeChild(box);
            txt.parentNode.removeChild(txt);
        }
    }
}

这将删除所有选中的复选框,您现在要做的就是创建一个按钮并将该功能添加为onclick。

<input type="button" value="Delete checked boxes" onclick = "delBoxes();" />

答案 2 :(得分:0)

HTML

<input type="checkbox" id="checkboxid" name="checkboxname">
 <button id="btnDeleteid" onclick="deleteCheckBox()" name="btnDeletename">Delete</button>

的JavaScript

function deleteCheckBox(){
  if (document.getElementById('checkboxid').checked){
        var answer = confirm('Are you sure you want to delete this checkbox?');
         if (answer)
           {
           $("#checkboxid").remove();
           }
         }else{
           alert("Pls check the checkbox.");
          }
}

我希望这会有所帮助。

参考小提琴 - http://jsfiddle.net/F8w8B/3/