【问题标题】:D3 Tree Search using Input - Search on Lower Case使用输入的 D3 树搜索 - 搜索小写
【发布时间】:2019-09-04 04:32:14
【问题描述】:

我有一个使用输入的 D3 树搜索。这在输入正确的大小写时效果很好,但我需要让它以小写形式工作(节点名称通常有驼峰式大小写)。

我有以下使用搜索输入的搜索功能:

  function searchTree( d ) {
                if ( d.children )
                    d.children.forEach( searchTree );
                else if ( d._children )
                    d._children.forEach( searchTree );
                var searchFieldValue = eval( searchField );
                if ( searchFieldValue && searchFieldValue.match( searchText ) ) {
                    // Walk parent chain
                    var ancestors = [];
                    var parent = d;
                    while ( typeof ( parent ) !== "undefined" ) {
                        ancestors.push( parent );
                        //console.log(parent);
                        parent.class = "found";
                        parent = parent.parent;
                    }
                    //console.log(ancestors);
                }
            }

如果为d.name 输入正确的大小写,则此方法有效,但在大小写不同时不匹配。因此,在从输入中搜索时,我需要将其更改为小写搜索。

如何更改搜索功能以获得小写匹配?

Fiddle

【问题讨论】:

  • 要搜索的字符串和要搜索的字符串都小写
  • 您可以使用searchFieldValue.toLowerCase().match( searchText.toLowerCase() ) 来匹配字符串。这会将文本都小写并匹配它们。更新了小提琴link
  • 独行侠..谢谢,想把它写成答案吗?
  • 是的,写作。

标签: javascript jquery d3.js


【解决方案1】:

你可以使用

searchFieldValue.toLowerCase().match( searchText.toLowerCase() )

匹配字符串。这会将文本都小写并匹配它们。

这里是小提琴link的链接

【讨论】:

    猜你喜欢
    • 2021-10-04
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多