如何得到点击元属的id和index?

f2k 2002-05-29 10:03:34
我创建了一组name和id相同的checkbox,用event.srcElement.id可以
知道点击元素的id,但是如何取得index,来确定点击的具体checkbox?
...全文
46 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
seabell 2002-05-29
  • 打赏
  • 举报
回复
qiushuiwuhen(秋水无恨)考虑周全!:)
qiushuiwuhen 2002-05-29
  • 打赏
  • 举报
回复
修正百合心,避免重复value
<script>
function test()
{
for(i=0;i<document.all[event.srcElement.id].length;i++)
if(document.all[event.srcElement.id][i]==event.srcElement)
alert("是第"+(i+1)+"个"+event.srcElement.id);
}
</script>
<input type=checkbox name=mycheck id=mycheck value=12 onclick=test()>
<input type=checkbox name=mycheck id=mycheck value=22 onclick=test()>
<input type=checkbox name=mycheck id=mycheck value=22 onclick=test()>
<input type=checkbox name=mycheck id=mycheck value=42 onclick=test()>
f2k 2002-05-29
  • 打赏
  • 举报
回复
百合心兄的办法不错,虽然比较土,不过很有效,因为
我的checkbox恰好value值都是唯一的。
f2k 2002-05-29
  • 打赏
  • 举报
回复
秋水兄的方法不错,但是我的网页结构比较复杂,不知道怎么加span。
页面如下:
<html>
<head>
<SCRIPT LANGUAGE=javascript>
<!--
function checkvalue()
{
strName=event.srcElement.id;
strId=event.srcElement.sourceIndex
alert(strId);
for(i=0;i<document.all(strName).length;i++)
{
}
}
//-->
</SCRIPT>
</head>

<body bgcolor="#FFFFFF" text="#000000" onkeydown="if(event.keyCode==13)event.keyCode=9">
<form name="form1" method="post" action="save.asp" class="text" onsubmit="return datacheck()">
<table width="500" align="center" class="text" cellpadding="2" cellspacing="1" bordercolor="#999999" border="1">
<tr bordercolor="#999999" bgcolor="#E0CFB0">
<td width="45">
<div align="center">A</div>
</td>
<td width="45">
<div align="center">B</div>
</td>
</tr>
<tr bordercolor="#999999">
<td width="45">
<div align="center">
<input type="checkbox" name="dis" id="dis" value="1" onClick="checkvalue()">
</div>
</td>
<td width="45">
<div align="center">
<input type="checkbox" name="bln" id="bln" value="1" onClick="checkvalue()">
</div>
</td>
</tr>
<tr bordercolor="#999999">
<td width="45">
<div align="center">
<input type="checkbox" name="dis" id="dis" value="2" onClick="checkvalue()">
</div>
</td>
<td width="45">
<div align="center">
<input type="checkbox" name="bln" id="bln" value="2" onClick="checkvalue()">
</div>
</td>
</tr>
<tr bordercolor="#999999">
<td width="45">
<div align="center">
<input type="checkbox" name="dis" id="dis" value="21" onClick="checkvalue()">
</div>
</td>
<td width="45">
<div align="center">
<input type="checkbox" name="bln" id="bln" value="21" onClick="checkvalue()">
</div>
</td>
</tr>
<tr bordercolor="#999999">
<td width="45">
<div align="center">
<input type="checkbox" name="dis" id="dis" value="22" onClick="checkvalue()">
</div>
</td>
<td width="45">
<div align="center">
<input type="checkbox" name="bln" id="bln" value="22" onClick="checkvalue()">
</div>
</td>
</tr>
<tr bordercolor="#999999">
<td width="45">
<div align="center">
<input type="checkbox" name="dis" id="dis" value="3" onClick="checkvalue()">
</div>
</td>
<td width="45">
<div align="center">
<input type="checkbox" name="bln" id="bln" value="3" onClick="checkvalue()">
</div>
</td>
</tr>
</table>
</form>
</body>
</html>
seabell 2002-05-29
  • 打赏
  • 举报
回复
这个方法看看如何
<script>
function test()
{
for(i=0;i<document.all[event.srcElement.id].length;i++)
if(document.all[event.srcElement.id][i].value==event.srcElement.value)
alert("是第"+(i+1)+"个"+event.srcElement.id);
}
</script>
<input type=checkbox name=mycheck id=mycheck value=12 onclick=test()>
<input type=checkbox name=mycheck id=mycheck value=22 onclick=test()>
<input type=checkbox name=mycheck id=mycheck value=32 onclick=test()>
<input type=checkbox name=mycheck id=mycheck value=42 onclick=test()>
qiushuiwuhen 2002-05-29
  • 打赏
  • 举报
回复
如果不是是顶级tag,可以直接用

<script>
function test(){
var e=window.event.srcElement
alert(e.sourceIndex+":"+qswh.all(e.sourceIndex-e.parentElement.sourceIndex-1).value);
}
</script>
<span id=qswh name=qswh>
<input type=checkbox name=mycheck id=mycheck value=1 onclick=test()>
<input type=checkbox name=mycheck id=mycheck value=2 onclick=test()>
<input type=checkbox name=mycheck id=mycheck value=3 onclick=test()>
<input type=checkbox name=mycheck id=mycheck value=4 onclick=test()>
</span>
qiushuiwuhen 2002-05-29
  • 打赏
  • 举报
回复
如果是顶级tag,可以直接用

<script>
function test(){
var e=window.event.srcElement
alert(e.sourceIndex+":"+document.all(e.sourceIndex).value);
}
</script>
<span>
<input type=checkbox name=mycheck id=mycheck value=1 onclick=test()>
<input type=checkbox name=mycheck id=mycheck value=2 onclick=test()>
<input type=checkbox name=mycheck id=mycheck value=3 onclick=test()>
<input type=checkbox name=mycheck id=mycheck value=4 onclick=test()>
</span>
qiushuiwuhen 2002-05-29
  • 打赏
  • 举报
回复
套一个span
<script>
function test()
{
var e=window.event.srcElement
alert(e.sourceIndex-e.parentElement.sourceIndex);
alert(e.id);
alert(e.value);
}
</script>
<span>
<input type=checkbox name=mycheck id=mycheck value=1 onclick=test()>
<input type=checkbox name=mycheck id=mycheck value=2 onclick=test()>
<input type=checkbox name=mycheck id=mycheck value=3 onclick=test()>
<input type=checkbox name=mycheck id=mycheck value=4 onclick=test()>
</span>
f2k 2002-05-29
  • 打赏
  • 举报
回复
value中我需要放入别的东西,不能保存序号。
我尝试过,sourceIndex得到的id是5,6,7,8;
在我的程序里面sourceindex得到的是27,38......,
实际上的应该是check(1),check(2)......
f2k 2002-05-29
  • 打赏
  • 举报
回复
可是我还需要知道它是这组元素中的第几个。
seabell 2002-05-29
  • 打赏
  • 举报
回复
<script>
function test()
{
alert(event.srcElement.sourceIndex);
alert(event.srcElement.id);
alert(event.srcElement.value);
}
</script>
<input type=checkbox name=mycheck id=mycheck value=1 onclick=test()>
<input type=checkbox name=mycheck id=mycheck value=2 onclick=test()>
<input type=checkbox name=mycheck id=mycheck value=3 onclick=test()>
<input type=checkbox name=mycheck id=mycheck value=4 onclick=test()>
f2k 2002-05-29
  • 打赏
  • 举报
回复
可是我还希望知道它是这组元素中的第几个,有什么办法吗?
tncboy 2002-05-29
  • 打赏
  • 举报
回复
用它event.srcElement 不就行了?
f2k 2002-05-29
  • 打赏
  • 举报
回复
我想用document.all(event.srcElement.id,event.srcElement.sourceIndex)取得相应的元素,但是好像不正确。
qiushuiwuhen 2002-05-29
  • 打赏
  • 举报
回复
event.srcElement.sourceIndex
f2k 2002-05-29
  • 打赏
  • 举报
回复
多谢百合兄,秋水兄。

87,996

社区成员

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

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