Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取要从具有DOM的div中删除的复选框的值_Javascript_Dom_Checkbox - Fatal编程技术网

Javascript 获取要从具有DOM的div中删除的复选框的值

Javascript 获取要从具有DOM的div中删除的复选框的值,javascript,dom,checkbox,Javascript,Dom,Checkbox,我怀疑选择并验证复选框是否在div中使用id=“div1”选中了复选框,然后在另一个divid=“box”中使用id=“box”添加该复选框,结果是复选框->div.id=div1->divbox.id=box 我有这个基本函数来创建复选框,插入div1,并将div1添加到div框,这是有效的,我不放css代码,因为不需要 function createCheckBox() { //count var count = 0; //create div1 var div1

我怀疑选择并验证
复选框是否在
div
中使用
id=“div1”
选中了
复选框,然后在另一个
div
id=“box”
中使用
id=“box”
添加该复选框,结果是复选框->div.id=div1->divbox.id=box

我有这个基本函数来创建
复选框
,插入
div1
,并将
div1
添加到
div框
,这是有效的,我不放
css
代码,因为不需要

 function createCheckBox() {
   //count
   var count = 0;

   //create div1
   var div1 = document.createElement('div');
   div1.id = "div1";
   div1.style.fontSize = "20px";

   //div box 
   var divbox = document.createElement('div');
   divbox.id = "box";

   //checkbox
   var checkbox = document.createElement('input');
   checkbox.type = "checkbox";
   checkbox.name = "checkBox" + (count++);
   checkbox.id = checkbox.name;

   var label = document.createElement('label')
   label.htmlFor = "id";
   label.appendChild(document.createTextNode("checkBox" + (count++)));
   var br = document.createElement('br');

   div1.appendChild(checkbox);
   div1.appendChild(label);
   div1.appendChild(br);

   divbox.appendChild(div1);

   document.body.appendChild(divbox);
 }
我的疑问是选择复选框复选框并返回是否选中了
在这个
函数removeCheckBox
中,我想得到checkbox的值 通过这种方式divbox.id=box->div.id=div1->checkbox.checkbox.checkbox.checkbox

function removeCheckBox() {
  //box
  var divbox = document.getElementById("box");
  //inside divbox select element with id = div1
  var div1 = divbox.getElementById("div1");

  for (var i = 0; div1.childNodes.length; i++) {
    if (div1.childNodes[i].checked) {
      alert("CheckBox is checked");
      //remove from div1
      div1.removeChild(div1.childNodes[i]);
    } else {
      alert("CheckBox is not checked");
    }
  }
}

有什么建议吗?

代码中有很多问题。您的函数应该如下所示:

function selectCheckBox() {
    //box
    var box = document.getElementById("box");
    //div1
    var div1 = document.getElementById("div1"); //should be document not box

    for (var i = 0; i < div1.childNodes.length; i++) {//should be condition i < div1.childNodes.length, also not spelling of length
        if (div1.childNodes[i].type == 'checkbox') { //make sure it is a checkbox first
            if (div1.childNodes[i].checked) {
                alert("CheckBox is checked");
            } else {
                alert("CheckBox is not checked");
            }
        }
    }
}
函数selectCheckBox(){
//盒子
var-box=document.getElementById(“box”);
//第一组
var div1=document.getElementById(“div1”);//应该是document而不是box
对于(var i=0;i
代码中有很多问题。您的函数应该如下所示:

function selectCheckBox() {
    //box
    var box = document.getElementById("box");
    //div1
    var div1 = document.getElementById("div1"); //should be document not box

    for (var i = 0; i < div1.childNodes.length; i++) {//should be condition i < div1.childNodes.length, also not spelling of length
        if (div1.childNodes[i].type == 'checkbox') { //make sure it is a checkbox first
            if (div1.childNodes[i].checked) {
                alert("CheckBox is checked");
            } else {
                alert("CheckBox is not checked");
            }
        }
    }
}
函数selectCheckBox(){
//盒子
var-box=document.getElementById(“box”);
//第一组
var div1=document.getElementById(“div1”);//应该是document而不是box
对于(var i=0;i
基于所有这些注释,存在解决方案(代码注释中的描述):

函数removeCheckBox(){
var-box=document.getElementById('box');
//获取box div中的所有选中复选框
var chk=box.querySelectorAll('[type=“checkbox”]:checked');
对于(var i=0;i有解决方案(代码注释中的描述),基于所有这些注释:

函数removeCheckBox(){
var-box=document.getElementById('box');
//获取box div中的所有选中复选框
var chk=box.querySelectorAll('[type=“checkbox”]:checked');

对于(var i=0;i
var div1=divbox.getElementById(“div1”);
…是打字
divbox
还是什么?因为我看不到任何定义的
divbox
。那应该是
var div1=document.getElementById(“div1”);
或者可能只是
var div1=box.getElementById(“div1”)
,但那没有意义。好吧,我将
框编辑为
divbox
,但是
div1
divbox
内,这没关系。你定义
div1
通过他的
id
获取元素。你在
removeCheckBox
函数中没有定义
divbox
。它是未定义的。另外,键入:
childNodes.lenght
length
not
lenght
有一个fiddle示例,删除通过按钮单击调用的所有复选框,
var div1=divbox.getElementById(“div1”)
…是打字错误
divbox
还是什么?因为我看不到任何定义的
divbox
。那应该是
var div1=document.getElementById(“div1”);
或者,可能只是
var div1=box.getElementById(“div1”)
,但那没有意义。好吧,我将
框编辑为
divbox
,但是
div1
divbox
内,这没关系。你定义
div1
通过他的
id
获取元素。你在
removeCheckBox
函数中没有定义
divbox
。它是未定义的。另外,键入:
childNodes.lenght
length
not
lenght
有一个小提琴示例,删除了通过单击按钮调用的所有复选框,