关于同名对象获取数量及所选对象维数!

iwebet 2004-10-15 10:14:21
我建立5个id="a" name="a"的TD,如下:
<table border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="80" height="80" id="aa" name="aa" onClick="getarr(this);"></td>
<td width="80" height="80" id="aa" name="aa" onClick="getarr(this);"></td>
<td width="80" height="80" id="aa" name="aa" onClick="getarr(this);"></td>
<td width="80" height="80" id="aa" name="aa" onClick="getarr(this);"></td>
<td width="80" height="80" id="aa" name="aa" onClick="getarr(this);"></td>
</tr>
</table>
怎么样才能当单击一个单元格时获取到名字或ID为aa的单元格的数量和所点击的是第几个单元格啊?
...全文
80 11 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
HStone 2004-10-15
  • 打赏
  • 举报
回复
<html>
<head>
<script>
function getarr(obj) {
var objs = document.getElementsByTagName("SELECT");
for (var i=0; i<objs.length; i++) {
if (obj==objs[i]) {
alert("第" + (i + 1) + "个SELECT, 第" + (objs[i].selectedIndex + 1) + "个选项");
break;
}
}
}
</script>
</head>

<body>



<select onchange="getarr(this)">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>

<select onchange="getarr(this)">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>

<select onchange="getarr(this)">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</body>
</html>
iwebet 2004-10-15
  • 打赏
  • 举报
回复
因为JS动态的生成SELECT 所以ID和NAME都是同名的
HStone 2004-10-15
  • 打赏
  • 举报
回复
<html>
<head>
<script>
function getCount(name) {
var num = 0;
var objs = document.all.item(name);
if (objs!=null)
num = (typeof(objs.length)=="undefined"?1:objs.length);
return num;
}
function getarr() {
var objTD = event.srcElement;
while (objTD!=null && objTD.tagName!="TD")
objTD = objTD.parentElement;
if (objTD!=null) {
var objTR = objTD;
while (objTR!=null && objTR.tagName!="TR")
objTR = objTR.parentElement;

if (objTR!=null)
alert("id=" + objTD.id + ", 个数=" + getCount(objTD.id) + ", 行=" + objTR.rowIndex + ", 列=" + objTD.cellIndex);
}
}
document.onclick = getarr;
</script>
</head>

<body>
<table border="1" align="center" cellpadding="0" cellspacing="0" >
<tr>
<td id="A" width="80" height="80">1</td>
<td id="B" width="80" height="80">2</td>
<td id="C" width="80" height="80">3</td>
<td id="D" width="80" height="80">4</td>
<td id="E" width="80" height="80">5</td>
</tr>
<tr>
<td id="F" width="80" height="80">6</td>
<td id="E" width="80" height="80">7</td>
<td id="D" width="80" height="80">8</td>
<td id="C" width="80" height="80">9</td>
<td id="B" width="80" height="80">0</td>
</tr>
</table>
</body>
</html>
HHH3000 2004-10-15
  • 打赏
  • 举报
回复
可以这样,你把所有的select的id按顺序编号,这样方便对号入座。
function getarrr(o)
{
alert(o.id);
alert(o.selectedIndex);
}
看看时不是呢?
iwebet 2004-10-15
  • 打赏
  • 举报
回复
其实是这样的 我想列出N个select 当选择其中一个的一个项目时提示出选的是第几个SELECT和第几个OPTIONS 然后就那TD来试 没试出来就帖出来问问 没想到在TD中好使 在SELECT中就不行了 还请大家再帮帮忙
HHH3000 2004-10-15
  • 打赏
  • 举报
回复
为什么要换成img或者input???
是把他们放到TD中吗?
始终不太明白你的用意
iwebet 2004-10-15
  • 打赏
  • 举报
回复
select也不行
iwebet 2004-10-15
  • 打赏
  • 举报
回复
那要是把TD换成IMG或INPUT就不行了啊
孟子E章 2004-10-15
  • 打赏
  • 举报
回复
function getarrr(o)
{
for(i=0;i<document.getElementsByTagName("TD").length;i++)
if(document.getElementsByTagName("TD")[i].id=="aa") alert("ok")
alert(o.parentElement.rowIndex)
alert(o.cellIndex)
}
iwebet 2004-10-15
  • 打赏
  • 举报
回复
那个得到是的对象的ID
孟子E章 2004-10-15
  • 打赏
  • 举报
回复
getarr(this)

function getarrr(o)
{
alert(o.id)
}
相关推荐
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2004-10-15 10:14
社区公告
暂无公告