Сортируемый список для обновления скрытого ввода - PullRequest
0 голосов
/ 29 октября 2011

У меня есть неупорядоченный список, который можно отсортировать с помощью jQuery. Функция сортировки работает нормально и находится ниже. Каждый элемент списка имеет идентификатор в этом формате - id = "post_ #", где # - это уникальный номер. Мне нужно обновить скрытое значение ввода в порядке элементов списка после их сортировки, но только #. Таким образом, если бы порядок элементов был> post_3, post_2, post_4, post_1 <, тогда входное значение было бы-value = "3,2,4,1" </p>

Вот 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 ]

1 голос
/ 29 октября 2011

можете ли вы сделать что-то вроде

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

возможно, я далеко от базы

0 голосов
/ 29 октября 2011
<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> 

Попробуйте использовать карту, чтобы получить все идентификаторы, а затем соединить их в строку.

...