关于onclick的问题 高手帮忙啊

hk207 2009-06-04 09:28:58
表格里tr上有checkbox,checkbox上有onclick带参数的事件。现在的问题是通过脚本得到该checkbox上的onclick事件后如何给到tr的onclick上?(不能直接在tr上写onclick)

高手帮忙啊?!

现在已经获取到checkbox上的onclick事件了,alert的话可以看到是正确的,但是脚本里就是不执行?

下面代码是个简单的例子:



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb18030" />
<title>Untitled Document</title>
<script type="text/javascript" language="javascript">
function chkonclick(o)
{
var tt=o.getElementsByTagName("input");
for(var i=0;i<tt.length;i++)
{
if(tt[i].type=="checkbox")
{
var ocka=tt[i].onclick;
ocka+="";
var str=ocka.substring(23,ocka.length-1);
if(ocka.indexOf("abc")=="23")
{
alert(str); //可以得到正确的方法
str; //这样为什么不行呢?该怎么办才可以?
abc("这是测试的^_^"); //如果直接把方法写在这里就可以。
}
}
}
}

function onctr(o)
{
var t=document.getElementById(o).getElementsByTagName("tr");
for(var i=0;i<t.length;i++)
{
t[i].onclick=function()
{
chkonclick(this);
}
}
}
function abc(str)
{
alert(str);
}
</script>
</head>

<body><table width="90%" border="1" cellspacing="1" cellpadding="1" id="datatable">
<tr>
<td><input type="checkbox" onclick="abc(0)" value="0" /></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><input type="checkbox" onclick="abc(1)" value="1" /></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
<script language="javascript" type="text/javascript">
onctr("datatable");
</script>
</body>
</html>



...全文
122 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
LCKKING 2009-06-04
  • 打赏
  • 举报
回复
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb18030" />
<title>Untitled Document</title>
<script type="text/javascript" language="javascript">
function chkonclick(o)
{
var tt=o.getElementsByTagName("input");
for(var i=0;i<tt.length;i++)
{
if(tt[i].type=="checkbox")
{
tt[i].onclick();
}
}
}

function onctr(o)
{
var t=document.getElementById(o).getElementsByTagName("tr");
for(var i=0;i<t.length;i++)
{
t[i].onclick=function()
{
chkonclick(this);
}
}
}
function abc(str)
{
alert(str);
}
</script>
</head>

<body><table width="90%" border="1" cellspacing="1" cellpadding="1" id="datatable">
<tr>
<td><input type="checkbox" onclick="abc(0)" value="0" /></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><input type="checkbox" onclick="abc(1)" value="1" /></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
<script language="javascript" type="text/javascript">
onctr("datatable");
</script>
</body>
</html>
knifewei 2009-06-04
  • 打赏
  • 举报
回复
应该把str写成一个方法再调用str()
sunxing007 2009-06-04
  • 打赏
  • 举报
回复
<html>
<body><table width="90%" border="1" cellspacing="1" cellpadding="1" id="datatable">
<tr>
<td><input type="checkbox" onclick="alert(0)" value="0" /></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><input type="checkbox" onclick="alert(1)" value="1" /></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
<script language="javascript" type="text/javascript">
var checkboxs = document.getElementsByTagName('input');
for(var i=0; i<checkboxs.length; i++){
if(checkboxs[i].type=="checkbox"){
checkboxs[i].parentNode.parentNode.onclick = checkboxs[i].onclick ;
}
}
</script>
</body>
</html>
浪尖赏花 2009-06-04
  • 打赏
  • 举报
回复
str;改成eval(str);
hookee 2009-06-04
  • 打赏
  • 举报
回复
str;改成str();
zhong19860904 2009-06-04
  • 打赏
  • 举报
回复
LZ的评价不错。很明了。
hk207 2009-06-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lihui_shine 的回复:]
str;改成eval(str);
[/Quote]

这个跟我问的最接近;

[Quote=引用 3 楼 sunxing007 的回复:]
<html>
<body> <table width="90%" border="1" cellspacing="1" cellpadding="1" id="datatable">
<tr>
<td> <input type="checkbox" onclick="alert(0)" value="0" /> </td>
<td>  </td>
<td>  </td>
<td>  </td>
</tr>
<tr>
<td> <input type="checkbox" onclick="alert(1)" value="1" /> </td>
<td>  </td>
<td>  </td>
<td>  …
[/Quote]

这个貌似也行(在静态上可以,但是……)!

[Quote=引用 5 楼 LCKKING 的回复:]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb18030" />
<title>Untitled Document </title>
<script type="text/javascript" language="javascript">
function chkonclick(o)
{
var tt=o.getElements…
[/Quote]

这个最简单,而且行!

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧