2012-08-22 63 views
4

我試圖將文本添加到拖動可排序項目時顯示的佔位符框中。 jQuery的用戶界面中有一個功能,我失蹤了?現在我試圖.append()信息,但它不工作。誰能幫忙?這裏的jQuery函數...jQuery Sortable - 將文本添加到佔位符

//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(); 
}); 

編輯:猜猜看,需要有對.append一些.live()函數的變化()?

乾杯, 邁克

+0

你是statemnt返回true或false,而不是jQuery對象,所以$(本)必須是未定義 可以使用$( 'UI狀態-亮點:可見')使用$(這)如果你想編輯 –

+0

。仍然不起作用。問題是'.ui-state-highlight'div在你開始拖動可排序項目之前是不可見的...... –

回答

4

我認爲問題是,即使你的條件語句尋找「的.ui狀態高亮」可見它並不意味着‘$(本)’指的是這個元素,除非這裏沒有顯示更多的jQuery。我在下面列出了一個小的jsfiddle,這有助於解釋,希望這有助於!

編輯:我包括一個新的小提琴,我99%肯定是你在找什麼。

我使用直接關閉jQuery UI - Sortable頁面的示例設置了一個可排序列表,然後查看了內置的事件。有一個叫啓動排序開始時,結合事件的情況下,我用的文字「的.ui狀態高亮」

http://jsfiddle.net/6PrvC/

+0

謝謝。爲什麼不能(這個)工作?無論如何,這仍然不起作用。 .ui-state-highlight div在頁面加載時隱藏。只有當您開始拖動可排序的jQuery UI項目時纔會顯示。我認爲這是我遇到的問題,它不顯示... –

+0

Aghhhh完美!正是我在找什麼。沒有注意到「sortcreate」事件......謝謝! 1+ –

5

您可以從一開始回調修改佔位符追加,像這樣的:

$('#my-sortable').sortable({ 
    start: function(event, ui) { 
     ui.placeholder.html('Placeholder Content!'); 
    } 
}); 
相關問題