获取被点击的元素jQuery的子元素的ID

时间:2014-02-02 19:58:34

标签: jquery ajax

我正在尝试构建一个小应用程序,您可以在单击它时编辑表格的一行。它是更大的AJAX驱动的CRUD应用程序的一部分,但我似乎无法做到正确。我现在的jQuery代码如下所示:

$("body").on("click", ".edit_tr", function()
{
var ID=$(this).attr('id');
var split = ID.split('_');
$("#first_"+split[1]).hide();
$("#last_"+split[1]).hide();
$("#first_input_"+split[1]).show();
$("#last_input_"+split[1]).show();

}).change(function()
{
var ID=$(this).attr('id');
var split = ID.split('_');
var first=$("#first_input_"+split[1]).val();
var last=$("#last_input_"+split[1]).val(); });

我知道通过单击TR元素(它是正文的一部分)它会注册事件,但是如何在该元素中获取被点击的TR的ID?我尝试了以下操作,它适用于预先存在的记录,但它不适用于预先存在的行,但它不适用于刚刚从CRUD应用程序添加的行。

$(".edit_tr").click(function()
{
var ID=$(this).attr('id');
var split = ID.split('_');
$("#first_"+split[1]).hide();
$("#last_"+split[1]).hide();
$("#first_input_"+split[1]).show();
$("#last_input_"+split[1]).show();

}).change(function()
{
var ID=$(this).attr('id');
var split = ID.split('_');
var first=$("#first_input_"+split[1]).val();
var last=$("#last_input_"+split[1]).val(); });

编辑:这是我每次添加记录时动态添加的行:

    <tr id="item_<?php echo $id; ?>" class="edit_tr"> 
<td class="edit_td"> 
<span id="first_<?php echo $id; ?>" class="text"><?php echo $firstname; ?></span> 
<input type="text" value="<?php echo $firstname; ?>" size="8" class="editbox" id="first_input_<?php echo $id; ?>" /> 
</td> 
</tr> 

0 个答案:

没有答案