使用Jeditable并在点击时激活

时间:2009-10-19 03:22:06

标签: javascript jquery jeditable

我发现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的新手。

2 个答案:

答案 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");
});

由于