Javascript 当选定某一行时,如何从该行中的单元格中获取值
我创建了html和javascript来获取包含不同信息的行的id,例如,我将在下面创建一个表 id---firstname---lastname----产品 1---乔恩-----多伊-----苹果 简------多伊------香蕉 单击该行时,我希望选中该行id。我有以下代码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
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);
});