繁体   English   中英

javascript中的拼接功能无法正常工作

[英]Splice function in javascript not working properly

单击上的按钮应生成单选按钮,一次一个,但我对应该坚持使用单选按钮的文本节点有疑问。 这是代码的一部分:

var array = [];
items = document.getElementById("items").value.split(",");
for (var i = 0; i < items.length; i++) {
    array.push(items[i]);
}
type = document.getElementById("type");
container = document.getElementById("container");
if (type.value == "radio") {
    radio = document.createElement("input");
    radio.setAttribute("type", "radio");
    for (var i = 0; i < array.length; i++) {
        text = document.createTextNode(array[0]);
        container.appendChild(text);
        container.appendChild(radio);
        array.splice(0,1);
    }
}

表格截图

所以这就是结果,但我希望第一个单选按钮的值为“1”,第二个为“2”等。

开始步骤你不需要arrayitems阵列已经包含文本输入你想要的元素

LSO无需切片/接续任何阵列

Ÿ我们的问题是,你必须创建为每一个元素另一种独特的无线电元素,所以你没被追加相同的无线电元素很多次,这导致加一次的单选按钮是什么

所以你必须把radio = document.createElement("input"); radio.setAttribute("type", "radio"); radio = document.createElement("input"); radio.setAttribute("type", "radio"); 在 for 循环内。 . . . 😘😘

 function Z() { items = document.getElementById('items').value.split(","); type = document.getElementById("type"); container = document.getElementById("container"); container.innerHTML = ""; if (type.value == "radio") { for (var i = 0; i < items.length; i++) { text = document.createTextNode(items[i]); radio = document.createElement("input"); radio.setAttribute("type", "radio"); container.appendChild(text); container.appendChild(radio); } } }
 <input onkeyup="Z()" id="items"> type: <select id="type"> <option value="radio">Radio</option> <option value="checkbox">Text</option> </select> <div id='container'></div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM