Изменение порядка списка в FormidablePro с помощью jQuery UI

Я сталкивался с этим методом использования jQuery в FormidablePro для реорганизации списка в представлении.

Представление основывается на форме с 2 полями: Число (тип числа) и Имя (тип текста), уже с введенными данными.

Во-первых, в разделе ПЕРЕД КОНТЕНТОМ идут вызовы скрипта и открытие списка div и неупорядоченного списка:

<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script src="/wp-includes/js/jquery/jquery.ui.touch-punch.js"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
    jQuery( '#sortable' ).sortable({
        stop: function () {
            var inputs = $('input.form-control');
            var nbElems = inputs.length;
            $('input.form-control').each(function(idx) {
                $(this).val(nbElems - idx);
            });
        }
    });
});
</script>
<div class="ListContainer">
<ul id="sortable">

Затем в разделе СОДЕРЖАНИЕ идут поля для отображения внутри тегов списка:

<li class="ui-state-default" id="listItem">
    <i class="fa fa-arrows" aria-hidden="true"></i>
    <div class="listLine"> [68] - [69]</div>
</li>

(где 68 - это число, а 69 - это имя)

И, наконец, в разделе AFTER CONTENT (закрывается неупорядоченный список и div):

</ul>
</div>

Единственный CSS на данный момент (я вставил его в дополнительный раздел CSS для Wordpress на странице "Настройка") - это стилизация строки списка и значка обработчика:

/* List line (repeatable) */
div.listLine {
    display:block;
    width:100%;
    height:30px;
    margin-bottom:20px;
    background:green;
    color:white;
    text-align:left;
    padding:5px;
    font-size:14px;
}

/* Field Drag and Drop Icon CSS */
i.fa.fa-arrows {
    float: right;margin-top: 6px;color:white;
}

Сработало как положено. Я могу перетаскивать и сортировать элементы списка, и, очевидно, список возвращается в исходное состояние порядка, если страница обновляется.

Но теперь мне нужно, чтобы каждый раз, когда я перетаскивал элементы списка, поле Number тоже внутренне изменялось, то есть переназначался новый порядок для всех записей в поле Number (68) в форме, чтобы список оставался упорядоченным таким образом.

Я знаю, что должен быть быстрый и простой способ, но я не могу понять из-за моих коротких навыков программирования. Я думаю, что добавление строки в функцию в стиле "this.Field(68)=idx" поможет. Пожалуйста, просветите меня.

0 ответов

Другие вопросы по тегам