添加特殊字符折叠到列表过滤器

时间:2014-11-14 20:05:53

标签: javascript jquery

我想使用list.js实时过滤列表。 http://www.listjs.com/examples

但我需要添加折叠。如果有人输入'á',它也会找到带有'a'的列表项。

有什么想法吗?

我可以在没有特殊字符的情况下为列表项添加隐藏的跨度,然后是一个隐藏的输入,其中包含用户输入的相同字符串,但没有特殊的字符,并使用list.js,但这看起来不是很好..

或者是否有任何类似的插件具有此功能?

1 个答案:

答案 0 :(得分:0)

不熟悉这个库,但这可能有用(这是使用您链接的示例中的代码):

var options = {
  valueNames: [ 'name', 'born' ],
  plugins: (function() {
      options = options || {};
      return {
        init: function(list) {
          // This method is called on initialization
          events.bind(getByClass(list.listContainer, options.searchClass), 'keyup', function(e) {
                    var target = e.target || e.srcElement; // IE have srcElement
                    list.search(target.value);
                });
        },
        name: options.name || "newsearch",
        search: function(str, columns) {
          var combining = /[\u0300-\u036F]/g; 
          var new_str = str.normalize('NFKD').replace(combining, '');
          list.search(new_str, columns);

        }
      };
    })()
};

var userList = new List('users', options);