我正在尝试构建一个小应用程序,您可以在单击它时编辑表格的一行。它是更大的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>