获取jsTree的选中值 - 使用表单发布提交

dzm*_*dzm 20 jquery jquery-plugins jstree

我正在使用带有复选框主题的jsTree jQuery插件.有谁知道如何使用表格帖子获取所选值?

谢谢!

Luk*_*nek 27

在上一个版本(3.0)中,API已更改.

如果您只需要所选ID的数组(如此节点中的示例),现在非常简单:

var selectedElmsIds = $('#tree').jstree("get_selected");
Run Code Online (Sandbox Code Playgroud)

如果需要迭代选定的元素,则只需传递额外的"true"参数.

var selectedElmsIds = [];
var selectedElms = $('#tree').jstree("get_selected", true);
$.each(selectedElms, function() {
    selectedElmsIds.push(this.id);
});
Run Code Online (Sandbox Code Playgroud)


小智 19

你有答案吗?如果没有,这里有一个出现在jstree谷歌组

    function submitMe(){ 
        var checked_ids = []; 
        $("#server_tree").jstree("get_checked",null,true).each 
            (function () { 
                checked_ids.push(this.id); 
            }); 
           doStuff(checked_ids); 


Jam*_*imi 14

与Jstree合作的每个人都可能面对这个问题:如何在表单提交中检查Jstree的ID?这是解决方案:

function submitMe() {
    var checked_ids = [];
    $('#your-tree-id').jstree("get_checked",null,true).each(function(){
        checked_ids.push(this.id);
    });
    //setting to hidden field
    document.getElementById('jsfields').value = checked_ids.join(",");
}
Run Code Online (Sandbox Code Playgroud)

现在,我们将它设置在一个隐藏的字段中:

<input type="hidden" name="jsfields" id="jsfields" value="" />
Run Code Online (Sandbox Code Playgroud)

  • 我明白了:)它指的是标签li的id. (2认同)