1

我想根据无序列表中列表项的顺序排列文本字段中的值。清单如下:-

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

我在sortable()上面提到的列表中使用了 Jquery UI 的功能。我需要在文本框值中复制相同的排列:-

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

例如 - 如果列表重新排列为3,2,5,4,1,则文本框值应为3,2,5,4,1:-

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

提前致谢!

4

3 回答 3

0
$( "#sort li" ).each(function(){
   $("#idOfYourTextField").val( $("#idOfYourTextField").val()+ $(this).text() );
});

http://jsfiddle.net/yRRLJ/1/

于 2013-03-11T13:34:18.783 回答
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/

于 2013-03-11T13:30:18.460 回答
0

使用 sortable 的停止事件来检查更改..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);
  }
});

在这里工作小提琴

于 2013-03-11T13:31:15.990 回答