2012-05-29 14 views
2

在我的頁面中,我使用了使用prototypejs的Ajax選項卡。其中一個包括一個可排序的。儘管可分類單獨使用,但當我將其放入標籤時,它不起作用。我怎麼解決這個問題?謝謝。可排序在ajax選項卡中不起作用

我的標籤如下:

<div id="container"> 
<div class="tabs" id="tab1">Tab 1</div> 
<div class="tabs" id="tab2">Tab 2</div> 
<div class="tabs" id="tab3">Tab 3</div> 
</div> 

我的排序列表如下:

<ul id="list"> 
    <li>now</li> 
    <li>works</li> 
    <li>this</li> 
</ul> 

<script type="text/javascript"> 
    Sortable.create("list"); 
</script> 

我的AJAX功能如下

function init() { 

    var tabs = document.getElementsByClassName('tabs'); 
    for (var i = 0; i < tabs.length; i++) { 
    $(tabs[i].id).onclick = function() { 
     getTabData(this.id); 
    } 
} 
} 
function getTabData(id) { 
var url = 'demos/ajax-tabs/process.php'; 
var rand = Math.random(9999); 
var pars = 'id=' + id + '&rand=' + rand; 

var myAjax = new Ajax.Request( 
     url, { 
       method: 'get', 
       parameters: pars, 
       onLoading: showLoad, 
       onComplete: showResponse 
       }); 

} 
function showLoad() { 
$('load').style.display = 'block'; 
    Sortable.create("list"); 

} 
function showResponse (originalRequest) { 
//Sortable.create("list"); 
var newData = originalRequest.responseText; 
$('load').style.display = 'none'; 
$('content').innerHTML = newData; 


} 
init(); 

回答

0

如果你調用Sortable.create( 「名單」);功能,它會搜索你的頁面的所有元素與ID「列表」使em排序。

但是:有了Ajax,你需要再次調用Sortable.create()之後,內容已經成功加載,因爲你需要再次對新內容進行排序。

function showResponse (originalRequest) { 
    var newData = originalRequest.responseText; 
    $('load').style.display = 'none'; 
    $('content').innerHTML = newData; // make sure that newData contains <ul id="list">.....</ul> 
    Sortable.create("list"); 
} 
+0

在哪裏可以再次調用sortable.create? – user1077300

+0

關於ajax調用的成功函數。 –

+0

我寫了這一點,但什麼事都沒有changed.var myAjax =新的Ajax.Request(URL,{方法: '得到',參數:標準桿,onLoading:showLoad,的onComplete:showResponse方法});函數showResponse方法(originalRequest){ \t變種newData = originalRequest.responseText; \t $('load')。style.display ='none'; \t $('content')。innerHTML = newData; \t Sortable.create(「list」); \t } – user1077300