4

並べ替え可能なアイテムをドラッグしているときに表示されるプレースホルダー ボックスにテキストを追加しようとしています。jQuery の UI に欠けている関数はありますか? 現在、情報を取得しようとし.append()ていますが、機能していません。

jQuery関数は次のとおりです。

//Sortable Function - Edit Wizard
$(function () {

    //add text to placeholder box
    if ($('.ui-state-highlight').is(':visible')) {
        $('.ui-state-highlight').append('<span>MOVE HERE</span>');
    };


    $(".sortable").sortable({
        placeholder: "ui-state-highlight",
        //revert: true,
        grid: [20, 20],
        handle: '.editMove',
        opacity: 0.6,
        scroll: true,
        scrollSensitivity: 80,
        zIndex: 10
    });
    $(".sortable").disableSelection();
});

編集

?.live()の変更機能が必要だと思います。.append()

4

2 に答える 2

5

次のように、開始コールバックからプレースホルダーを変更できます。

$('#my-sortable').sortable({
    start: function(event, ui) {
        ui.placeholder.html('Placeholder Content!');
    }
});
于 2014-12-28T02:44:03.560 に答える
4

問題は、条件文が「.ui-state-highlight」が表示されることを探しているとしても、「$(this)」がその要素を参照していることを意味しないことだと思います。それはここには示されていません。説明に役立つ小さなjsfiddleを以下に含めました。これが役立つことを願っています!

編集:私はあなたが探しているものであると 99% 確信している新しいフィドルを含めました。

jQuery UI - Sortableページの例をそのまま使用して、並べ替え可能なリストをセットアップし、それに組み込まれているイベントを調べました。並べ替えの開始時にイベントをバインドする start というイベントがあり、それを使用してテキストを「.ui-state-highlight」に追加しました

http://jsfiddle.net/6PrvC/

于 2012-08-22T18:22:05.533 に答える