15

Jeditableをインライン編集ソリューションとして使用しようとしています。

デフォルトの動作 (要素をクリックして編集する) は非常にうまく機能しますが、別の要素をクリックして要素をアクティブにしたいと考えています。

たとえば、a.activateEdit をクリックすると、次の div.edit がアクティブになります (明らかに、jQuery セレクターを使用して行う必要があります)。

これについてJeditableのドキュメントを調べましたが、正しい構文が見つかりませんでした

参考までに、デフォルトの Jeditable 構文は次のようなものです。

 $(document).ready(function() {
     $('.edit').editable('http://www.example.com/save.php');
 });

*編集:より良い解決策を見つけました*

4

4 に答える 4

24

上記のコードも正しくありません。すべての Jeditable インスタンスでクリック イベントをトリガーします。

それを行うには多くの方法があり、すべて HTML に依存しますが、たとえば次の HTML がある場合:

<div class="edit" id="unique_id">Editable text</div> 
<a href="#" class="edit_trigger">Edit me!!</a>

次に、次の JavaScript を使用できます。

/* Bind Jeditable instances to "edit" event. */
$(".edit").editable("http://www.example.com/save.php", {
    event     : "edit"
});
/* Find and trigger "edit" event on correct Jeditable instance. */
$(".edit_trigger").bind("click", function() {
    $(this).prev().trigger("edit");
}); 
于 2009-07-10T10:58:18.613 に答える
2

わかりました、Ataの答えはうまくいきませんでしたが、それは私を正しい道に導きました:

$(document).ready(function() {
    $('.edit').editable('http://www.example.com/save.php');
    $("a.clickme").click(function(){
          $('.edit').click();
   });
});
于 2008-12-14T22:08:27.433 に答える
2

このコードを別の要素のクリック機能に配置できます。例:

HTML:

<a class="clickme">Click me to edit</a>
<div class="edit">Edit Me!</div>

jQuery:

$(document).ready(function() {
$("a.clickme").click(function(){
     $('.edit').editable('http://www.example.com/save.php');
});
});
于 2008-12-14T16:40:15.893 に答える
1

前の 2 つの応答の力を組み合わせて、次の編集可能な要素を次のようにターゲットにしました。

/* Find and trigger "edit" event on next Jeditable instance. */ $(".edit_trigger").livequery( 'click', function() { $(this).next().click(); });

于 2009-11-06T06:59:57.597 に答える