Установка флажка при выборе элемента списка в JSTree - PullRequest
0 голосов
/ 19 апреля 2019

В настоящее время у меня есть JSTree, в котором отображаются элементы списка с флажками внутри них.

Моя цель: отправить значение выбранных элементов списка в форму PHP POST.

ЭтоВот как я отображаю их на моем сайте:

echo '<li id="dynamicID"><input name="checkboxname" type="checkbox" id="SameIdThanListItemID" value="checkboxvalue">List item text</li>

Это работает нормально, и мои элементы списка отображаются так, как и предполагалось.

Сначала мы проверили пункт списка, затемЗначок JSTree, затем введите флажок, который я должен использовать для отправки сообщения (этот флажок будет скрыт).Флажки не могут быть нажаты, я предполагаю, что это связано с поведением JSTree.

enter image description here

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

Проблема возникает, когда я пытаюсь установить флажок при нажатии элементов списка.

    $("#tree").bind("changed.jstree",

        function (e, data) {       

        var nodeId = $('#tree').jstree().get_selected("id")[0].id;

        // Shows up the proper ID selected, and both checkbox and 
        // list item have the same ID, so we're good untill here
        console.log(nodeId); 

        // We've got the ID properly stored into nodeId,and we've checked it with console.Log, 
        // however, the input checkbox its never getting selected.
        document.getElementById(nodeId).checked = true;

        }
    );

1 Ответ

0 голосов
/ 19 апреля 2019

Я обнаружил, что флажки не могут быть отмечены / сняты, если они находятся внутри тегов JSTree <li></li>.

Чтобы исправить это, я просто сделал цикл вне дерева и повторил каждый флажок в скрытом div. Теперь при выборе элементов списка также устанавливается соответствующий флажок, поэтому отправка сообщения работает, как предполагалось.

...