Как отсортировать PickList targetList при передаче - PullRequest
0 голосов
/ 10 марта 2020

Есть ли способ сортировки целевых элементов списка выбора после передачи элемента в него? Мой элемент управления списка выбора находится в al oop, что означает, что он имеет динамический c идентификатор, поэтому я использую widgetVar для достижения компонента в JS. Этот ответ предлагает только способ сортировки исходных списков, которые у меня уже есть. Этот метод сортировки сортирует параметры тега select, но не список «li», показанный на последнем изображении. У кого-нибудь есть идеи?

x html Файл:

<p:pickList id="pickList" value="#{bean.dualListModel}" var="selectitem" binding ="#{bean.pickList}"   converter ="de.company.web.converter.PickListConverter" itemValue="#{selectitem.value}" itemLabel="#{selectitem.label}"responsive="true">

<f:attribute name="pickListParamName" value ="#{paramitem.name}"/>                         
<p:ajax event="transfer" onstart="sort('pickList')" process="@parent"/>

JS Код:

function sort(id)
{
var items = new Array();
var list = document.getElementById(id).options;

    for(var i = 0; i < list.length; i++)
    {
        items.push(list[i]);
    }

    items.sort(function (a, b)
    {

        if (a.value > b.value)
        {
            return 1;
        }
        else if (a.value === b.value)
        {
            return 0;
        } else
        {
            return -1;
        }
    });

    for(var i = 0; i < items.length; i++)
    {
        list[i] = items[i];   
    }

}

Output

...