【发布时间】:2011-05-24 21:33:40
【问题描述】:
我有一个使用 PHP 从 Sql 数据库中创建的表,该表成功显示了表信息 使用以下代码示例。
<table class="mytable loottable" id="guildmembers">
<?php
$query = mysql_query("SELECT $member.charname, $member.char_lvl, $trskill.skill_desc, .....
if (mysql_num_rows($query) > 0) {
while (false !== ($row = mysql_fetch_assoc($query))) {
echo '<tr id="'.$row['charname'].'">'; <-- setting row id here
echo '<td class="lootrow" id="memth1">'.$row['charname'].'</td>';
echo '<td class="lootrow" id="memth2">'.$row['rank_desc'].'</td>';
echo '<td class="lootrow" id="memth3">'.$row['class_name'].'</td>';
echo '<td class="lootrow" id="memth4">'.$row['char_lvl'].'</td>';
echo"</tr>\n";
}
mysql_free_result($query);
}
?>
</table>
我已验证每个表行都分配了正确 id 的页面源示例。
<tr id="Calysta"><td class="lootrow" id="memth1">Calysta</td><td class="lootrow" id="memth2">Guild Leader</td><td class="lootrow" id="memth3">Inquisitor</td></tr>
<tr id="Rynanx"><td class="lootrow" id="memth1">Rynanx</td><td class="lootrow" id="memth2">Guild Leader</td><td class="lootrow" id="memth3">Mystic</td>
我将每个表的 ROW ID 设置为始终唯一的第一个字段。然后我正在尝试使用它 以下函数中的 ID,用于在用户单击表格中的一行时将用户重定向到个人资料页面。
<script type="text/javascript">
$(document).ready(function () {
$("table.mytable").each( function() {
table = $(this);
if ($(table).attr("id")=="guildmembers") {
$(this).click(function(){
window.location.href = "http://eq2players.com"+
"/Kithicor/" + $(this).attr("id") + "/";
});
}
})
});
</script>
哪个应该在浏览器中打开一个新页面,地址如下 点击第一行:“http://everquest2.com/Kithicor/Calysta/”
相反,无论点击哪一行,都会创建 Web url 是“http://everquest2.com/Kithicor/guildmembers/”
这是表格 ID。不是被点击的行的 ID。我尝试了各种解决方案 并且无法弄清楚如何在此点击功能中获取行 ID。对此有任何帮助 非常感激。谢谢。
【问题讨论】:
-
你在复制
id,检查id="memth1/2/3/4"之类的东西不应该重复,ID应该总是是唯一的。
标签: php jquery jquery-selectors