Javascript 使用循环并向其中添加HTML文本的单选按钮的值
请看底部的小提琴链接。我有两个问题:Javascript 使用循环并向其中添加HTML文本的单选按钮的值,javascript,html,Javascript,Html,请看底部的小提琴链接。我有两个问题: 如何向这些单选按钮添加HTML文本。我必须给他们$和%的价值(对于用户) 查找选定的每个单选按钮的值。例如,用户添加了10行(每个行有2个单选按钮)。我已经迭代了一个循环来查找输入类型,看看按钮是否被选中,然后找到它的值 不工作,告诉我我做错了什么 var i=0; window.myAdd=函数(){ var x=i; var butts=document.createElement(“输入”); butts.setAttribute(“类型”、“无线电
var i=0;
window.myAdd=函数(){
var x=i;
var butts=document.createElement(“输入”);
butts.setAttribute(“类型”、“无线电”);
butts.setAttribute(“名称”、“货币”+x);
butts.setAttribute(“值”、“%”);
butts.setAttribute(“id”、“radio”+i);
//var节点=document.createTextNode(“%”);
//子节点(节点);
i=i+1;
//控制台。日志(对接);
var butts_1=document.createElement(“输入”);
butts_1.设置属性(“类型”、“无线电”);
butts_1.setAttribute(“名称”、“货币”+x);
butts_1.setAttribute(“值”、“美元”);
butts_1.设置属性(“id”、“无线电”+i);
i=i+1;
//控制台日志(butts_1);
var行=document.createElement(“TR”);
//document.getElementById('tab').appendChild(butts);
//document.getElementById('tab').appendChild(butts_1);
第二排:子排(屁股);
第2行:子行(子行1);
document.getElementById('tab').appendChild(行);
x=x+1;
}
window.myfunction=函数(表){
//var x=字符串(document.getElementById('radioP').value);
//警报(x);
对于(var i=0;i1),您必须使用
元素,例如:
<input id="radio_1" type="radio" value="1" />
<label for="radio_1">$</label>
<input id="radio_2" type="radio" value="2" />
<label for="radio_2">%</label>
$
%
2) 您必须对它们进行迭代。考虑到所有的收音机都在类为“container”的某个div中,您将需要如下内容:
document.getElementById('get_values').addEventListener('click', function() {
var radios = document.querySelectorAll('.container input[type="radio"]');
values = {};
for(i=0; i<radios.length; i++) {
var radio = radios[i];
var name = radio.getAttribute('name');
if(radio.checked) {
values[name] = radio.value;
} else {
values[name] = values[name] || null;
}
}
alert(JSON.stringify(values));
});
document.getElementById('get_values')。addEventListener('click',function(){
var radios=document.querySelectorAll('.container input[type=“radio”]');
值={};
对于(i=0;i我已更正您的脚本以使其正常工作:
var i=0;
window.myAdd=函数(){
var x=i;
var butts=document.createElement(“输入”);
butts.setAttribute(“类型”、“无线电”);
butts.setAttribute(“名称”、“货币”+x);
butts.setAttribute(“值”、“%”);
butts.setAttribute(“id”、“radio”+i);
//var节点=document.createTextNode(“%”);
//子节点(节点);
i=i+1;
//控制台。日志(对接);
var butts_1=document.createElement(“输入”);
butts_1.设置属性(“类型”、“无线电”);
butts_1.setAttribute(“名称”、“货币”+x);
butts_1.setAttribute(“值”、“美元”);
butts_1.设置属性(“id”、“无线电”+i);
i=i+1;
//控制台日志(butts_1);
var行=document.createElement(“TR”);
//document.getElementById('tab').appendChild(butts);
//document.getElementById('tab').appendChild(butts_1);
第二排:子排(屁股);
第2行:子行(子行1);
document.getElementById('mytable').appendChild(行);
x=x+1;
}
window.myfunction=函数(表){
//var x=字符串(document.getElementById('radioP').value);
//警报(x);
//调试器;
对于(var i=0;i
添加单选按钮
GET VALUE
您是否只是尝试标记输入并检查其值?否,我想标记它们,然后用户可以选择尽可能多的复选框,然后单击GET VALUE它必须显示所有选中的值。您好,完全忽略querySelectorAll()事情..谢谢你!谢谢你在table.rows.length和row.childNodes.length上放了灯…但它不起作用..未捕获类型错误:无法读取未定义的属性“rows”.我已经更改了标记中的选择器,请尝试运行我的代码段,只需单击“运行代码段”按钮
document.getElementById('get_values').addEventListener('click', function() {
var radios = document.querySelectorAll('.container input[type="radio"]');
values = {};
for(i=0; i<radios.length; i++) {
var radio = radios[i];
var name = radio.getAttribute('name');
if(radio.checked) {
values[name] = radio.value;
} else {
values[name] = values[name] || null;
}
}
alert(JSON.stringify(values));
});