Javascript 复选框有问题。选中复选框后,我想使用“删除”按钮删除内容

Javascript 复选框有问题。选中复选框后,我想使用“删除”按钮删除内容,javascript,html,css,checkbox,checkboxlist,Javascript,Html,Css,Checkbox,Checkboxlist,我正在尝试制作一个web应用程序,但checkbox中有一个小问题。每当我选中复选框时,它都会给我输出“未定义”。当选中复选框时,我想用删除按钮删除内容。我无法捕获问题的确切原因。任何人都可以解释我。需要帮助吗 var btnAdd=document.getElementById(“添加”); var btnRem=document.getElementById(“rem”); var container=document.getElementById(“cont”); var frm=doc

我正在尝试制作一个web应用程序,但checkbox中有一个小问题。每当我选中复选框时,它都会给我输出“未定义”。当选中复选框时,我想用删除按钮删除内容。我无法捕获问题的确切原因。任何人都可以解释我。需要帮助吗

var btnAdd=document.getElementById(“添加”);
var btnRem=document.getElementById(“rem”);
var container=document.getElementById(“cont”);
var frm=document.getElementById(“frm”);
btnAdd.addEventListener(“单击”,()=>{
var x=document.getElementById(“txt”).value;
变量y=document.getElementById(“国家”);
var h=document.getElementById(“国家”).value;
var element4=document.createElement(“输入”);
element4.type=“复选框”;
element4.id=“检查”;
如果(!x | |!h){
}否则{
如果(y.selectedIndex==0){
}否则{
var base=document.createElement(“div”);
var b=容器.appendChild(基本);
b、 id=“基本”;
var元素=document.createElement(“div”);
var d=b.appendChild(元素);
d、 附加子元素(元素4);
var element1=document.createElement(“输入”);
d、 附加子元素(元素1);
元素1.value=x;
element1.id=“text2”;
element1.readOnly=true;
var数组=新数组();
对于(变量i=0;i{
var g=document.getElementById(“检查”).checked;
如果(g==true){
警报(this.value)
this.parentElement.parentElement.remove();
;
} 
})
});
*{
保证金:0;
填充:0;
框大小:边框框;
}
输入,按钮{
边界半径:无;
大纲:无;
边框:1px纯黑;
}
.选择国家{
最大宽度:100%;
}
.集装箱{
最大宽度:80%;
保证金:0自动;
填充顶部:50px;
}
.货柜-1{
最大宽度:50%;
保证金:0自动;
显示器:flex;
柔性包装:包装;
}
形式{
最大宽度:初始宽度;
}
.container-1:第一个孩子{
弹性:3;
}
.货柜-1分区{
弹性:1;
}
.container-1 div输入,.container-1 div选择{
最小宽度:100%;
填充:5px0;
}
#加上#rem{
最小宽度:100%;
填充:5px0;
}
.货柜-2{
最大宽度:50%;
保证金:0自动;
填充顶部:50px;
}
.集装箱-2#底座{
显示器:flex;
填充:10px0;
}
.container-2:第一个孩子{
弹性:3;
显示器:flex;
}
.container-2:第一个孩子#检查{
flex:0.1;
填充:5px0;
}
.container-2:第一个孩子#text2{
弹性:3;
填充:5px0;
}
.货柜-2组{
弹性:1;
}
.container-2 div select{
填充:5px0;
最小宽度:100%;
}

文件
选择国家
印度
韩国
中国
阿拉伯联合酋长国
芬兰
德国
法国
英国
不丹
美国
澳大利亚
添加
删除

在箭头函数的上下文中,此通常是全局或窗口的父作用域,如果您将
此.value
替换为
document.getElementById(“check”).value,则它将返回复选框值,当您单击yes时,它将删除选中的行

此外,如果要删除多个选中行,则需要使用不同的选择器,例如getElementsByTagName,或querySelectorAll来获取元素集合,而不是按ID获取单个元素(ID应该是唯一的,因此还需要实现某种索引,因为您的网站有多个重复的ID)

此外,您的JS格式不正确,addButton事件连接没有结束标记,请将此代码复制并粘贴到脚本:

        var btnAdd = document.getElementById("add");
        var btnRem = document.getElementById("rem");
        var container = document.getElementById("cont");
        var frm = document.getElementById("frm");

        btnAdd.addEventListener("click", () => {
            var x = document.getElementById("txt").value;
            var y = document.getElementById("country");
            var h = document.getElementById("country").value;

            var element4 = document.createElement("input");
            element4.type = "checkbox";
            element4.id = "check";

            if (!x || !h) {
            } else {
                if (y.selectedIndex == 0) {
                } else {
                    var base = document.createElement("div");
                    var b = container.appendChild(base);
                    b.id = "base";

                    var element = document.createElement("div");
                    var d = b.appendChild(element);

                    d.appendChild(element4);

                    var element1 = document.createElement("input");
                    d.appendChild(element1);
                    element1.value = x;
                    element1.id = "text2";
                    element1.readOnly = true;

                    var array = new Array();

                    for (var i = 0; i < y.length; i++) {
                        array.push(y.options[i].text);
                    }

                    var element = document.createElement("div");
                    var d1 = b.appendChild(element);

                    var element2 = document.createElement("select");
                    var O = d1.appendChild(element2);

                    for (var j = 1; j < array.length; j++) {
                        O.innerHTML +=
                            "<option value=" + array[j] + ">" + array[j] + "</option>";
                    }

                    O.value = h;

                    frm.reset();
                    y.selectedIndex = 0;


                }
            }
        });

        btnRem.addEventListener("click",()=> {
            var checkbox = document.getElementById("check");

            if (checkbox.checked) {
                alert(checkbox.value)
                checkbox.parentElement.parentElement.remove();
            }
        });
var btnAdd=document.getElementById(“添加”);
var btnRem=document.getElementById(“rem”);
var container=document.getElementById(“cont”);
var frm=document.getElementById(“frm”);
btnAdd.addEventListener(“单击”,()=>{
var x=document.getElementById(“txt”).value;
变量y=document.getElementById(“国家”);
var h=document.getElementById(“国家”).value;
var element4=document.createElement(“输入”);
element4.type=“复选框”;
element4.id=“检查”;
如果(!x | |!h){
}否则{
如果(y.selectedIndex==0){
}否则{
var base=document.createElement(“div”);
var b=容器.appendChild(基本);
b、 id=“基本”;
var元素=document.createElement(“div”);
var d=b.appendChild(元素);
d、 附加子元素(元素4);
var element1=document.createElement(“输入”);
d、 附加子元素(元素1);
元素1.value=x;
element1.id=“text2”;
element1.readOnly=true;
var数组=新数组();
对于(变量i=0;i