首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当选定某一行时,如何从行中的单元格中获取值

当选定某一行时,如何从行中的单元格中获取值
EN

Stack Overflow用户
提问于 2013-12-21 00:01:13
回答 2查看 1K关注 0票数 0

我创建了html和javascript以获取包含不同信息的行的id,例如,我将在下面创建一个表。

id

1--琼恩

2--简

当我单击行时,我希望选择该行id。我有以下代码

代码语言:javascript
复制
alert(document.getElementById("id").value);

alert($(this).getElementbyId("id").value);//this line doesnt work

第一行将始终显示为1。或第一个字段中的id。第二行什么都不做。任何帮助都将不胜感激。

谢谢

输出的一些HTML

代码语言:javascript
复制
<table border=1 style="border-collapse: collapse">

<tr class='clickablerow'>
<td><textarea readonly cols='4' rows='1' id='id'>356</textarea></td> 
<td><textarea cols='20' rows='1' name='lastname'>Johnson</textarea></td> 
<td><textarea cols='20' rows='1' name='firstname'>Jon</textarea></td> 
<td><textarea cols='5' rows='1' name='room'>58B</textarea></td> 
<td><textarea cols='20' rows='1' name='product'>HP printer</textarea></td> 
<td><textarea cols='20' rows='1' name='problem'>lid is missing a part</textarea></td> 
<td><textarea cols='20' rows='1' name='finished'>5/16/2013</textarea></td> 
<td><textarea cols='20' rows='1' name='comments'>Fixed working now</textarea></td> 
</tr>
<tr class='clickablerow'><td><textarea readonly cols='4' rows='1' id='id'>429</textarea></td> 
<td><textarea cols='20' rows='1' name='lastname'>Harrison</textarea></td> 
<td><textarea cols='20' rows='1' name='firstname'>Wendy</textarea></td> 
<td><textarea cols='5' rows='1' name='room'>101</textarea></td> 
<td><textarea cols='20' rows='1' name='product'>Internet</textarea></td> 
<td><textarea cols='20' rows='1' name='problem'>Internet not working</textarea></td>
 <td><textarea cols='20' rows='1' name='finished'>5/24/2013</textarea></td> 
<td><textarea cols='20' rows='1' name='comments'>Need to change DNS</textarea></td>
 </tr>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-21 00:11:26

将表行更改为如下所示:

代码语言:javascript
复制
<tr class='clickablerow'><td><textarea readonly cols='4' rows='1' class='id'>".$row['id']."</textarea></td>...</tr>

使用class="id"而不是id="id",因为您不能重复ID。

那么您的JS代码可以是:

代码语言:javascript
复制
$("tr.clickablerow").click(function() {
    alert ($(this).find("textarea.id").val());
});

$(this).getElementById("id").value无法工作,因为$(this)返回一个jQuery对象,而不是DOM元素。jQuery对象不实现与DOM元素相同的方法。

票数 0
EN

Stack Overflow用户

发布于 2013-12-21 00:16:12

我不确定使用jQuery是否是一种选择--但是写得非常快:

代码语言:javascript
复制
$("tr").click(function() {
     var currentID = $(this).attr("id");
     alert(currentID);
});

说明:$("tr").click() -将单击事件绑定到页面上的每个<tr>元素(如果不希望将每个tr元素绑定到此事件,则可以向希望触发的元素添加类名并使用$("tr.myClassName").click() )

$(this).attr("id") -$(这个)是指单击的元素。.attr( "id“)获取tr的属性值(在本例中是html元素的”id“)。

希望这能有所帮助。

更新:

我发现我对这个问题还没有很清楚的理解--谢谢你提请我注意--以下是修正的样本:

代码语言:javascript
复制
$("tr").click(function() {
         var currentID = $("td textarea", this).val();
         alert(currentID);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20713826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档