日期:2014-05-16  浏览次数:20424 次

求!关于 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>