求!关于 radio 按钮来控制 text 框是否显示的问题?
关于 radio 按钮来控制 text 框是否显示的问题?
在一个页面中,首先,通过radio 来控制 text 框是否显示,
如:四个 radio 中,选择其中一个 radio 时,text 框显示,其他三个则不显示,
当只有 radio 只显示时没问题,但当我的 radio(在一个循环中,
具体radio要有几组是根据需要决定) 要有多组时,为什么其他组的radio
都只能监听 第一组的text框
------解决方案--------------------这里是我写的一个示例,你可以参考一下,根据输入的订单数量循环生成一组订单:
<script>
function buildOrder(orderNum){
alert( '订单数: '+orderNum);//显示订单数
var tab1=document.getElementById( 'tab1 ');//获得table对象
for(i=1;i <=orderNum;i++){//生成订单(radio+input组)
//生成订单号行
var tr=tab1.insertRow();//插入行
var td=tr.insertCell();//插入列
td.innerText= '订单 '+i;//向列中写内容(订单序号)
//生成radio组行
var tr=tab1.insertRow();//插入行
var td=tr.insertCell();//插入列
td.innerHTML= ' <input type=radio value=radio-1 name=radio_order '+i+ ' onclick=document.getElementById(\ 'input_order '+i+ '\ ').style.display=\ '\ '; checked> 显示 ';//向列中写入第一个radio
td.innerHTML+= ' <input type=radio value=radio-2 name=radio_order '+i+ ' onclick=document.getElementById(\ 'input_order '+i+ '\ ').style.display=\ 'none\ ';> 不显示 ';//向列中写入第二个radio
td.innerHTML+= ' <input type=radio value=radio-3 name=radio_order '+i+ ' onclick=document.getElementById(\ 'input_order '+i+ '\ ').style.display=\ 'none\ ';> 不显示 ';//向列中写入第三个radio
td.innerHTML+= ' <input type=radio value=radio-4 name=radio_order '+i+ ' onclick=document.getElementById(\ 'input_order '+i+ '\ ').style.display=\ 'none\ ';> 不显示 ';//向列中写入第四个radio
////生成input组行
var tr=tab1.insertRow();//插入行
tr.id= "input_order "+i;//定义行id
var td=tr.insertCell();//插入列
td.innerHTML= " <input> <input> <input> ";//向列中写入三个input
//生成一个空行(美观起见,可以不要)
var tr=tab1.insertRow();
var td=tr.insertCell();
td.height= "30 ";
td.innerText= " ";
alert( '订单 '+i+ '生成完毕! ');
}
}
</script>
请输入订单数: <input type= "text " value= "3 " id= "order_n "> <input type= "button " value= "生成订单 " onclick= "buildOrder(parseInt(document.getElementById( 'order_n ').value)) ">
<table id= "tab1 ">
</table>