Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当选定某一行时,如何从该行中的单元格中获取值_Javascript_Html_Mysql - Fatal编程技术网

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

Javascript 当选定某一行时,如何从该行中的单元格中获取值,javascript,html,mysql,Javascript,Html,Mysql,我创建了html和javascript来获取包含不同信息的行的id,例如,我将在下面创建一个表 id---firstname---lastname----产品 1---乔恩-----多伊-----苹果 简------多伊------香蕉 单击该行时,我希望选中该行id。我有以下代码 alert(document.getElementById("id").value); alert($(this).getElementbyId("id").value);//this line doesnt wo

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

id---firstname---lastname----产品 1---乔恩-----多伊-----苹果 简------多伊------香蕉

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

alert(document.getElementById("id").value);

alert($(this).getElementbyId("id").value);//this line doesnt work
第一行永远是1。或者第一个字段中的id。第二行没有任何作用。任何帮助都将不胜感激

多谢各位

输出的一些HTML

<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>

将表格行更改为类似以下内容:

<tr class='clickablerow'><td><textarea readonly cols='4' rows='1' class='id'>".$row['id']."</textarea></td>...</tr>

$this.getElementByIdid.value不起作用,因为$this返回的是jQuery对象,而不是DOM元素。jQuery对象实现的方法与DOM元素不同。

我不确定您是否可以选择使用jQuery,但请快速记下:

$("tr").click(function() {
     var currentID = $(this).attr("id");
     alert(currentID);
});
说明: $tr.click-您正在将click事件绑定到页面上的每个元素。如果您不希望每个tr元素都绑定到此事件,您可以向要触发的元素添加一个类名,并使用$tr.myClassName.click

$this.attrid-$this指单击的元素。attrid获取tr的属性值,在本例中是html元素的id

希望有帮助

更新:

我发现我没有清楚地理解这个问题——谢谢你提醒我注意——这是修改后的样本:

$("tr").click(function() {
         var currentID = $("td textarea", this).val();
         alert(currentID);
});

ID必须是唯一的,好像我每天写100次。每行不能有相同的ID。我的ID是唯一的。它是自动递增的。他指的是textarea标签中的id属性,应该是唯一的。当我这样做时,它不会显示任何内容。我的类被命名为其他名称,以便在单击jQuery时使其工作。我用id设置id,我的代码在echo下面。$row['id'];您可以有多个类,也可以在代码中使用该类。这只是一个例子。请把你的HTML放在问题中,而不是文本表。它是我HTML中的php。我用MySQL连接到一个数据库来填充表格,只显示一点结果HTML,你可以从浏览器的View Source中获得。不,它说它是未定义的。感谢您的回复,虽然他不想显示ID,但他想显示textarea的值。
$("tr").click(function() {
         var currentID = $("td textarea", this).val();
         alert(currentID);
});