可排序列表以更新隐藏输入

时间:2011-10-28 21:27:55

标签: javascript jquery jquery-ui-sortable hidden-field

我有一个可以使用jQuery排序的无序列表。排序功能工作正常,低于。每个列表项在此格式上都有一个id-id =“post_#”,其中#是唯一编号。我需要在排序后按列表项的顺序更新隐藏的输入值,但只需要#。因此,如果项目的顺序是> post_3,post_2,post_4,post_1<然后输入值将是 - 值=“3,2,4,1”

这是我到目前为止的jQuery -

<script type="text/javascript">
    jQuery(document).ready(function(){ 
        jQuery(function() {
            jQuery("#wpbody-content #post_sortable_list").sortable({ opacity: 0.6, cursor: \'move\', update: function() {
                var order = $(this).sortable;

            }
            });
        });
    });
    </script> 

和HTML -

<div id="wpbody-content">
<ul id="post_sortable_list">
<li id="post_1">foo</li>
<li id="post_2">bar</li>
<li id="post_3">hello</li>
<li id="post_4">world</li>
</ul></div>

<input type="hidden" name="posts_order" value="" />

2 个答案:

答案 0 :(得分:1)

你可以做点什么吗

var order = '';
 $('#post_sortable_list').find('li').each( function () {
  order = order + $(this).text().substring(5);
});
$('posts_order').val(order);

可能我离基地

答案 1 :(得分:0)

<script type="text/javascript">
    jQuery(document).ready(function(){ 
        jQuery(function() {
            jQuery("#wpbody-content #post_sortable_list").sortable({ opacity: 0.6, cursor: \'move\', update: function() {
                var order = $(this).map(function(i, e){
                    return $(e).attr("id").substring(5);
                }.join(", ");

            }
            });
        });
    });
    </script> 

尝试使用map获取所有ID,然后将它们连接成一个字符串。

相关问题