点击 button id ='btn1'时,我需要获取动态表的特定 td 值。 td 值将以模式形式显示在 Display()中。
这是我的表格行代码:
$query = "SELECT SID , FNAME , MNAME , LNAME , SCONTACT , MOTHER_FNAME , MOTHER_MNAME , MOTHER_LNAME , MCONTACT FROM student"; $result = mysqli_query($db, $query); $result_check = mysqli_num_rows($result); if($result_check > 0){ while ($row = mysqli_fetch_assoc($result))
{ echo "
<tr class='tr'>
<td class='nr'>" . $row["SID"] . "</td>"; echo "
<td>" . $row["FNAME"] ." ". $row["MNAME"] ." ". $row["LNAME"] . "</td>"; echo "
<td>" . $row["SCONTACT"] . "</td>"; echo "
<td>" . $row["MOTHER_FNAME"] ." ". $row["MOTHER_MNAME"] ." ". $row["MOTHER_LNAME"] . "</td>"; echo "
<td>" . $row["MCONTACT"] . "</td>"; echo "
<td>" . "<button id='btn1' onclick='Display()' class='inline'>Create Offense</button>"; } }
echo "</td></tr>";
获取特定td值的代码:
<script type="text/javascript">
$("#btn1").click(function() {
var num = $(this).parents("tr").find(".nr").text();
$(".resultas").text(num);
});
</script>
我得到的只是第一行的td值。有提示吗?
答案 0 :(得分:1)
您为每个元素设置了相同的ID,因此使用class
代替id
,将#btn1
更改为.inline
<script type="text/javascript">
$(".inline").click(function() {
var num = $(this).parents("tr").find(".nr").text();
$(".resultas").text(num);
});
</script>
答案 1 :(得分:0)
您可以尝试以下方法:
$("#btn1").click(function() {
// change the number in bracket to get specific column value | td:eq(1)
var num = $(this).parents("tr").find("td:eq(1)").text();
alert(num);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table border="1">
<tr>
<td>111</td>
<td>211</td>
<td>311</td>
<td><button id='btn1' class='inline'>Create Offense</button></td>
</tr>
</table>