2013-03-11 32 views
1

我想根據無序列表中列表項目的順序在文本字段中排列值。 情況如下表所示: -根據文本框中重新排列的無序列表獲取值

<ul id="sort"> 
    <li>1</li> 
    <li>2</li> 
    <li>3</li> 
    <li>4</li> 
    <li>5</li> 
</ul> 

我使用上面提到的名單上的jQuery用戶界面的sortable()功能。 我需要複製的文本框的值相同的安排: -

<input type="text" value="" /> 

例如 - 如果列表重新排列爲3,2,5,4,1,文本框的值應該是3,2,5,4,1: -

<input type="text" value="3,2,5,4,1" /> 

提前感謝!

+0

你已經?也許小提琴? – dfsq 2013-03-11 13:21:31

+0

你可以循環訪問列表並使用$(「input #idhere」)。val(「val here」)將值追加到輸入框中 – tymeJV 2013-03-11 13:21:52

+0

請添加http://jsfiddle.net/ – howderek 2013-03-11 13:28:42

回答

0

例如像這樣:

$('#sort').sortable({ 
    update: function(e, ui) { 
     var val = $(this).children().map(function() { 
      return $(this).text(); 
     }).get().join(); 
     $('#text').val(val); 
    } 
}); 

http://jsfiddle.net/wzsuH/1/

+0

非常感謝!這就是我想要的 – user2131144 2013-03-11 14:01:13

+0

很高興幫助:) – dfsq 2013-03-11 14:01:46

0

使用排序的停止活動,檢查的變化.. toArray得到<li>列表中的位置的陣列...與,加入它,附加到輸入

這裏你去..

HTML

<ul id="sort"> 
    <li id="1">1</li> 
    <li id="2">2</li> 
    <li id="3">3</li> 
    <li id="4">4</li> 
    <li id="5">5</li> 
</ul> 

jQuery的

$('#sort').sortable({ 
    stop: function(event, ui) { 
    var sortedVal=$(this).sortable("toArray"); 
    var inputVal=sortedVal.join(','); 
    $('#inputid').val(inputVal); 
    } 
}); 

working fiddle here