1

我正在使用骨干过滤器进行搜索。下面是我收藏的代码。

search : function(data){

    var pattern = new RegExp(data,"gi");
    return (this.filter(function(model) {
        console.log("found match in "+ (model.get("name")).match(pattern));
        return pattern.test(model.get("name"));
    }));
}

以下是我的代码:

render: function () {
    var data = new GroupCollection(this.collection.search(searchData)).toJSON();
    var html = this.template(data);
    this.$el.html(html);
    return this;
},

上面的搜索代码工作正常。

我想在结果中突出显示搜索数据,但找不到这样做的方法。

我正在获取搜索数据。但我无法突出显示匹配的文本,如下图所示。

在此处输入图像描述

在正则表达式中使用 match 可以获得匹配的文本,但是如何在我的模板中显示。

4

1 回答 1

1

看到这个jsFiddle

使用Handlebars.registerHelper

示例代码:

Handlebars.registerHelper('fullName', function(name) {
    var searchString = 'com'; //$("#txtSearch").val();

    var dom = name.replace(searchString, '<span style="color: red">' 
                                         + searchString + '</span>');
    return new Handlebars.SafeString(dom);
});
于 2013-07-25T11:26:04.923 回答