猿问

在JSTree中选择列表项时选择复选框

我目前有一个JSTree,其中显示了带有复选框的列表项。

我的目标:将选定的列表项值发送到PHP POST Form。

这就是我在网站上回应它们的方式:

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

这工作正常,并且我的“列表”项按预期显示。

我们首先得到列表项检查,然后是JSTree图标,然后是我必须用于帖子提交的复选框输入(此复选框将被隐藏)。不能单击复选框,我认为这是由于JSTree行为引起的。

该树当前设置为禁用多重选择,因此我们不会遇到与数组有关的问题。我们永远不会只使用一个ID。


当我尝试在单击列表项时尝试选中复选框时,就会出现问题。


    $("#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;


        }

    );


慕尼黑5688855
浏览 262回答 1
1回答

30秒到达战场

我发现,如果复选框位于JSTree<li></li>标记内,则将无法对其进行选中/取消选中。为了解决这个问题,我只是在树外制作了一个循环,并在隐藏的div中回显了每个复选框。现在选择列表项还会选中适当的复选框,因此帖子提交可以按预期工作。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答