【发布时间】:2017-01-19 17:02:16
【问题描述】:
我有一个从数据库中获取数据的表。在同一张桌子上,我有两个按钮。通过按下任一按钮,我想获取所有特定的列数据。我尝试了几种方法。请参阅下面的代码。
生成上表的 HTML 和 PHP:
<table class="w3-table-all w3-margin-top" id="myTable">
<tr>
<th style="width:20%;">Vendor Picture Path</th>
<th style="width:20%;">Vendor Heading</th>
<th style="width:20%;">Vendor Adding Date</th>
<th style="width:20%;">Vendor Body</th>
<th style="width:10%;">Add A Course</th>
<th style="width:10%;">Add A Batch</th>
</tr>
<?php
mysql_connect("hist", "user", "pass")or die("cannot connect to server");
mysql_select_db("name")or die("cannot select DB");
$sql = "query";
$result = mysql_query($sql);
while($row=mysql_fetch_assoc($result))
{
echo '<tr>
<td><div style="width:100%;height: 60px;margin: 0;padding: 0;overflow-y: scroll">'.$row["pic_path"].'</div></td>
<td><div onclick="getval(this)" class="cventablehead" id="ventablehead" style="width:100%;height: 60px;margin: 0;padding: 0;overflow-y: scroll; cursor: pointer; color:red;">'.$row["heading"].'</div></td>
<td>'.$row["adding_date"].'</td>
<td><div style="width:100%;height: 60px;margin: 0;padding: 0;overflow-y: scroll">'.$row["body"].'</div></td>
<td><button onclick="addcourse(this)">Add</button></td>
<td><button onclick="addbatch(this)">Add</button></td>
</tr>';
}
?>
</table>
</div>
JavaScript: 每个警报都是我尝试的不同方式,但没有成功
function addcourse(obj)
{
alert(obj.querySelector('#ventablehead').innerHTML);
alert(obj.getElementsByClassName("cventablehead").innerHTML);
alert(obj.getElementsByClassName("cventablehead")[0].innerHTML);
}
【问题讨论】:
-
这怎么可能行得通?您在 while 循环中使用 same id 创建 multiple 元素,这是一个禁忌。多个元素可以具有相同的类,但不能具有相同的 id。至少解决这个问题。 @Filipe_Duarte's 的回答看起来是在正确的轨道上。您应该为您喜欢的任何答案投票,然后单击解决您问题的答案旁边的复选标记 (√),以表扬他们的帮助。
-
另外,为什么要使用 JavaScript 来操纵 DOM?为什么不使用 jQuery?它的编写和使用更加方便,代码更加简洁易读。
标签: javascript php mysql