我有一个可以使用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="" />
答案 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,然后将它们连接成一个字符串。