2012-09-26 143 views
0

我所擁有的是1 droppable div(dropZone)和幾個可拖動的。 可拖動的是HTML代碼片段,在dropZone中放置時,呈現其中的html代碼。 (HTML代碼存儲在一個帶有ID的外部html文件中) 發生的是,當我拖放一個可拖動的時候,它可以正常工作。但是我放棄了另一個,它清除了當前的代碼。 有關如何做到這一點的任何建議?用jQuery load()保留外部HTML文件的加載部分

$("#dropZone").droppable({ 
    tolerance: 'touch', 
    over: function() { 
     $('.dragMe').addClass('red'); 
    }, 
    out: function() { 
     $('.dragMe').removeClass('red'); 
    }, 
    drop: function(event, ui) { 
     var id = ui.draggable.attr("id"); 
     $(this).load('test.html #' + id); 
    } 
}); 

有沒有辦法讓內懸浮窗當前的代碼,所以當我把另一個可拖動它添加到代碼?

非常感謝。

+0

文件加載到一個變量? –

回答

0

您可以使用此:

jQuery.get('http://localhost/test.html', function(data) 
{ 
    alert(data); 
}); 

這將獲取數據,然後您可以稍後將數據分配給一個變量使用。如果您有多個負載,那麼只需創建一個包含所有數據的數組,並且每次載入時都將其添加到數組中。

編輯:(你的情況)

drop: function(event, ui) 
{ 
    var id = ui.draggable.attr("id"); 
    jQuery.get('http://localhost/test.html#' + id, function(data) 
    { 
     //store data as variable 
     $(this).html(data); 
    }); 
} 
+0

非常感謝!這很有幫助! – Inon30

+0

沒問題,祝你好運! –

+0

嗨Nate,我試過了你給我的代碼。出於某種原因,當我拖動draggable到#dropZone時,它會輸出test.html的所有內容,而不是特定ID的內容... – Inon30