我发现this几乎就是我要做的事情。我正在使用Jeditable我可以使用默认设置。我也能够在上面的论坛中获取代码。我相信我的问题是,因为我正在使用一个表,我需要其他东西来选择前一个元素。
这是我的HTML
<table>
<tr>
<td width="5%"><input class="cat_checkbox" type="checkbox" name='delete_cat[]' value='<?php echo("$cat_data[cat_id]");?>' /></td>
<td width="90%" class="edit_cat_title" id='unique_id'>Category</td>
<td width="5%"><a href="#" class="edit_cat_title_trigger"><img src="images/edit.gif" border="0"></a></td>
</tr>
</table>
这是我的JQuery:
//modify title content on the fly
$('.edit_cat_title').editable('action.php', {
name : 'cat_title',
indicator : 'Saving...',
submit : 'OK',
cancel : 'Cancel',
tooltip:'click to edit',
event : 'edit'
});
//trigger with the click of the edit image
$(".edit_cat_title_trigger").bind("click", function() {
$(this).prev().trigger("edit_cat_title");
});
我知道我可能应该能够弄明白而且我知道我所要做的就是将$(this).prev().trigger("edit_cat_title");
更改为正确的东西,但我仍然是Jquery的新手。
答案 0 :(得分:2)
您可以考虑在两者上设置一个rel标签,而不是依赖于dom结构来触发编辑事件。这将使您的代码与标记分离得更多一些。然后选择器就是$('.edit_cat_title').filter('[rel='+$(this).attr('rel')+']')
答案 1 :(得分:1)
我想通了,我只需要获取.edit_cat_title
的前一个实例我使用这个jquery给任何想知道的人。
$(".edit_cat_title_trigger").bind("click", function() {
$(this).parent().prev('.edit_cat_title').trigger("edit");
});
由于