jquery select 2の複数のキーワードブラークエリの解決方法について

1676 ワード

select 2は要素のtext()のみをマッチングし、実際の開発過程でidまたは特殊符号化によるマルチキーワードマッチングが存在する可能性がある.
下のソースコードを変更しました:赤は変更部分です.
                    process=function(element, collection) {
                        var group;
                        if (element.is("option")) {
                            // modify by yuan 2016.2.15
                            if (query.matcher(term, element.text(), element) || 
                                query.matcher(term, element.attr("data-help1"), element) ||
                                query.matcher(term, element.attr("data-help2"), element)) {
                                collection.push(self.optionToData(element));
                            }
                         

                        } else if (element.is("optgroup")) {
                            group=self.optionToData(element);
                            element.children().each2(function(i, elm) { process(elm, group.children); });
                            if (group.children.length>0) {
                                collection.push(group);
                            }
                        }

 
html部分は要素に2つの属性を追加し、複数ある場合は状況に応じて変更できます.
記録を作って、似たような状況の友达に会いやすいようにします.