表格问题?急,在线等 不知道你实现的是什么效果?想说的是:为什么不用td的onclick事件呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我只知道JS可以用childNodes来遍历一个元素内的所有子元素,然后判断出tagName为input并且type为radio的时候就操作此元素,没听过用PHP可以实现这些功能。 上面的数组可以通过二维循环显示成一个表。然后通过单击某行可以实现该行颜色的改变(已实现),并且希望同时该行的radio项设置为被选中,单击button按钮可以实现该行数据的显示。 <style>.hide{display:none;}</style><script>dodo.selected=null;function dodo(tr){ var rs=tr.getElementsByTagName("input"); if(rs.length==0)return; rs[0].checked=true; rs[0].className=''; if(rs[0]!=dodo.selected&&dodo.selected!=null)dodo.selected.className="hide"; dodo.selected=rs[0];}function show(){ var rows=document.getElementById("tab").rows; for(var i=0;i<rows.length;i++){ var rs=rows[i].getElementsByTagName("input"); if(rs.length==0)continue; if(rs[0].checked){ alert(rows[i].innerHTML);//不知道你要显示这一行的什么信息 break; } }}</script><table id="tab"><tr onclick="dodo(this)"><td><input type=radio name=choose class="hide" ></td><td>1111</td><tr><tr onclick="dodo(this)"><td><input type=radio name=choose class="hide" ></td><td>2222</td><tr><tr onclick="dodo(this)"><td><input type=radio name=choose class="hide" ></td><td>3333</td><tr></table><input type="button" value="显示选中行信息" onclick="show()" /> <html > <head > <meta http-equiv="Content-Type" content="text/html; charset=gb2312" > <title > </title > <style type="text/css">.hidden{ display:none;}</style></head > <body onload="init()"> <div> <table id="tbl" border="1"> <tr> <td class="hidden"><input type="radio" name="choose" /> </td> <td>11</td> <td>12</td> <td>13</td> <td>14</td> </tr> <tr> <td class="hidden"><input type="radio" name="choose" /></td> <td>21</td> <td>22</td> <td>23</td> <td>24</td> </tr> </table></div><input type="button" value="得到选择行信息" onclick="getCheckLine()" /></body > </html ><script language="javascript" type="text/javascript" > function init(){ var oTbl = document.getElementById("tbl"); for(var i=0;i<oTbl.rows.length;i++) { oTbl.rows[i].onclick=new Function("this.cells[0].childNodes[0].checked=true;"); }}function getCheckLine(){ var rd = document.getElementsByName("choose"); var flag = false; for(var i=0;i<rd.length;i++) { if(rd[i].checked) { flag = true; alert("你选择了第"+(i+1)+"行\n信息:\n"+rd[i].parentNode.parentNode.outerHTML); } } if(!flag) alert("你没有选择任何行!"); }</script > getElementById 获取对应值的问题? 请教javascript弹出层返回数值的问题 关于JS实现的图片自动跳转链接问题 JS在IE下获取图片大小 js事件处理(jQuery转js) 怎样删除从光标到最后或最前的文本? 就10分了,请多指教 简单问题,100分,看谁运气好来捡 ResultSet在js中循环取值rs.next()遇到问题。 JS 下拉选择开始年分后,结束年分会自动加一年 如何在Java script里判断泰文字符的字节数啊? 用网页制作提交和删除时的确认对话框问题。
<style>
.hide{display:none;}
</style><script>
dodo.selected=null;
function dodo(tr){
var rs=tr.getElementsByTagName("input");
if(rs.length==0)return;
rs[0].checked=true;
rs[0].className='';
if(rs[0]!=dodo.selected&&dodo.selected!=null)dodo.selected.className="hide";
dodo.selected=rs[0];
}
function show(){
var rows=document.getElementById("tab").rows;
for(var i=0;i<rows.length;i++){
var rs=rows[i].getElementsByTagName("input");
if(rs.length==0)continue;
if(rs[0].checked){
alert(rows[i].innerHTML);//不知道你要显示这一行的什么信息
break;
}
}
}
</script><table id="tab">
<tr onclick="dodo(this)"><td><input type=radio name=choose class="hide" ></td><td>1111</td><tr>
<tr onclick="dodo(this)"><td><input type=radio name=choose class="hide" ></td><td>2222</td><tr>
<tr onclick="dodo(this)"><td><input type=radio name=choose class="hide" ></td><td>3333</td><tr>
</table>
<input type="button" value="显示选中行信息" onclick="show()" />
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" >
<title > </title >
<style type="text/css">
.hidden
{
display:none;
}
</style>
</head >
<body onload="init()">
<div>
<table id="tbl" border="1">
<tr>
<td class="hidden"><input type="radio" name="choose" /> </td>
<td>11</td>
<td>12</td>
<td>13</td>
<td>14</td>
</tr>
<tr>
<td class="hidden"><input type="radio" name="choose" /></td>
<td>21</td>
<td>22</td>
<td>23</td>
<td>24</td>
</tr>
</table>
</div>
<input type="button" value="得到选择行信息" onclick="getCheckLine()" />
</body >
</html >
<script language="javascript" type="text/javascript" >
function init()
{
var oTbl = document.getElementById("tbl");
for(var i=0;i<oTbl.rows.length;i++)
{
oTbl.rows[i].onclick=new Function("this.cells[0].childNodes[0].checked=true;");
}
}function getCheckLine()
{
var rd = document.getElementsByName("choose");
var flag = false;
for(var i=0;i<rd.length;i++)
{
if(rd[i].checked)
{
flag = true;
alert("你选择了第"+(i+1)+"行\n信息:\n"+rd[i].parentNode.parentNode.outerHTML);
}
}
if(!flag) alert("你没有选择任何行!");
}
</script >