jstree:如何使搜索结果节点(带子节点)可扩展?

时间:2017-07-02 18:29:18

标签: tree jstree expandable collapsable

我正在使用以下树小提琴:searchable jstree fiddle

我的问题是,如何使搜索结果节点可扩展?例如:在上面的小提琴中,'橙县'节点有三个子节点。如果我深入到奥兰治县'我可以手动扩展它并查看子节点。但是,如果我输入“橘子县”'在搜索框中,我失去了扩展“橘子县”的能力。看到子节点。

提前致谢! 以下是HTML:

<div>
  <input class="search-input form-control" placeholder="Search term"/>
</div>
<div id="SampleContainer">
  <ul>
    <li>
      NORTH
      <ul>
        <li>
          ORANGE COUNTY
          <ul>
            <li>
              GANGLAND
            </li>
            <li>
              MOTOWN
            </li>
            <li>
              CARLSBAD
            </li>
          </ul>
        </li>
        <li>
          BLUE COUNTY
          <ul>
            <li>
              SANFRAN
            </li>
            <li>
              ZOOTOWN
            </li>
            <li>
              GUETECH
            </li>
            <li>
              D
            </li>
          </ul>
        </li>
      </ul>
    </li>
  </ul>
</div>

JS:

$.jstree.defaults.search.show_only_matches = true;
$.jstree.defaults.search.show_only_matches_children = false;
$.jstree.defaults.search.search_leaves_only = false;
$(function() {
  $(".search-input").keyup(function() {
    var searchString = $(this).val();
    console.log(searchString);
    $('#SampleContainer').jstree('search', searchString);
  });

  $("#SampleContainer").jstree({
    "plugins": ["wholerow", "checkbox", "search"],
    core: {
      "themes": {
        "icons": false,
        "dots": false,
        "responsive": true,
        "stripes": true
      }
    }
  });
});

1 个答案:

答案 0 :(得分:0)

其实我觉得我弄明白了。我不得不将$ .jstree.defaults.search.show_only_matches设置为false而不是true。