2011-09-01 23 views
0

我使用jQuery UI進行排名投票,您可以看到一個示例herejQuery UI可排序,其中數字不會移動

我想改變它,這樣當選舉人拖拽候選人姓名時,姓名會移動,但旁邊的數字不會。

我知道我可以通過隱藏列表數字並在排序旁邊添加一個單獨的固定數字列表來做到這一點,但我希望得到一個更簡單的解決方案。

任何想法,一個簡單的方法來實現這一點?

+0

問題是數字拖動時沒有改變? – Nayish

+0

不,問題是我不希望數字移動。我只想讓他們旁邊的盒子移動。 –

+0

如果不把它分成兩個單獨的列表,似乎是不可能的 – Nayish

回答

2

我發現了一個很簡單的方法來實現這一點。假設這是列表:

<div id="ballot"> 
<ol id="sortable"> 
<li>One</li> 
<li>Two</li> 
<li>Three</li> 
</ol> 
</div> 

然後下面的JavaScript將一個號碼添加到每個列表項的左:

window.onload = function(){ 
    $("#sortable li").each(function(n) { 
    var pos = $(this).position(); 
    var number = document.createElement('p'); 
    number.innerHTML = (n+1) + "."; 
    $(number).css("position", "absolute"); 
    $("#ballot").append(number); 
    $(number).position({ 
     my: "center", 
     at: "left", 
     of: this, 
     offset: "-15 0" 
    }); 
    }); 
}; 

我還是用JavaScript和jQuery一個小白,所以我道歉代碼中的任何愚蠢行爲。