这个?? 重新说一遍有4个radio按钮,其中选择其中一个 radio 后,显示出一个表格,选其他3个radio则
不显示这个表格。表格的内容为三个‘text’输入框。
当只有一个 radio 组(4个按钮)时没问题,但当我需要有多组radio时(
订单1、订单2、订单3...中都有相同的的内容『比如:radio-1
radio-2 radio-3 radio-4 选择 radio-1 显示 text框,选其他3个radio则
不显示』),正常情况下,在订单2中选择 radio-1,显示text框,选 radio-2,
订单2中的 text框 不显示。但我现在的情况是,选订单-2中的 radio-2 时,订单2
中的 text框 还是显示的,却把订单1的 text框 给隐藏掉了。页面中,我是把这一组 radio+text 写在一个循环里的,因为具体的radio+text
要有几组是根据需要决定
不显示这个表格。表格的内容为三个‘text’输入框。
当只有一个 radio 组(4个按钮)时没问题,但当我需要有多组radio时(
订单1、订单2、订单3...中都有相同的的内容『比如:radio-1
radio-2 radio-3 radio-4 选择 radio-1 显示 text框,选其他3个radio则
不显示』),正常情况下,在订单2中选择 radio-1,显示text框,选 radio-2,
订单2中的 text框 不显示。但我现在的情况是,选订单-2中的 radio-2 时,订单2
中的 text框 还是显示的,却把订单1的 text框 给隐藏掉了。页面中,我是把这一组 radio+text 写在一个循环里的,因为具体的radio+text
要有几组是根据需要决定
订单一的三个input那一行的<tr>的id=input_order1
订单二的三个input那一行的<tr>的id=input_order2
onclick事件中的对象也相应地要变化。<table>
<tr><td>订单一</td></tr>
<tr><td>
<input type="radio" value="radio-1" name="radio_order1" onclick="document.getElementById('input_order1').style.display='';">显示
<input type="radio" value="radio-2" name="radio_order1" onclick="document.getElementById('input_order1').style.display='none';">不显示
<input type="radio" value="radio-3" name="radio_order1" onclick="document.getElementById('input_order1').style.display='none';">不显示
<input type="radio" value="radio-4" name="radio_order1" onclick="document.getElementById('input_order1').style.display='none';">不显示
</td></tr>
<tr><td id="input_order1"><input><input><input></td></tr>
<tr><td height="30"> </td></tr>
<tr><td>订单二</td></tr>
<tr><td>
<input type="radio" value="radio-1" name="radio_order2" onclick="document.getElementById('input_order2').style.display='';">显示
<input type="radio" value="radio-2" name="radio_order2" onclick="document.getElementById('input_order2').style.display='none';">不显示
<input type="radio" value="radio-3" name="radio_order2" onclick="document.getElementById('input_order2').style.display='none';">不显示
<input type="radio" value="radio-4" name="radio_order2" onclick="document.getElementById('input_order2').style.display='none';">不显示
</td></tr>
<tr><td id="input_order2"><input><input><input></td></tr>
</table>
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>
(这个 id 和我的 name 又属性相同了,我的name也是动态的,会有冲突吗?实际上我这边干脆就不监听了)
<input type="text" id="a" name="a" value="name=a,id=a">
<input type="text" id="a1" name="b1" value="id=a1,name=b1">
<script>
alert(document.getElementById('a').value);//通过id获取
alert(document.getElementsByName('a')[0].value);//通过name获取alert(document.getElementById('a1').value);//通过id获取
alert(document.getElementsByName('b1')[0].value);//通过name获取
</script>
******************************************我知道了,其实我只要在不同的订单里设置不同的 id 值就可以了。由于我使用 click framework 做的(也是现学的),可能有的地方没表达清楚。用click 可以在页面中设置变量,我在循环里设置一个自增长变量作 id 值就可以了不过,还是应该感谢你,花了你这么多时间谢谢!!