1

これは、私がやろうとしていることとほぼ同じであることがわかりました。私は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に本当に慣れていません。

4

2 に答える 2

2

編集イベントをトリガーするためにdom構造に依存するのではなく、それらをより限定的にグループ化する両方にrelタグを設定することを検討できます。これにより、コードがマークアップからもう少し切り離されます。次に、セレクターは$('.edit_cat_title').filter('[rel='+$(this).attr('rel')+']')

于 2009-10-19T08:59:10.933 に答える
1

.edit_cat_title不思議に思っている人のために、このjqueryを使用した前のインスタンスを取得する必要がありました。

    $(".edit_cat_title_trigger").bind("click", function() {
    $(this).parent().prev('.edit_cat_title').trigger("edit");
});

ありがとう

于 2009-10-19T03:50:33.587 に答える