Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 通过主干过滤器返回数据时突出显示匹配的文本_Backbone.js - Fatal编程技术网

Backbone.js 通过主干过滤器返回数据时突出显示匹配的文本

Backbone.js 通过主干过滤器返回数据时突出显示匹配的文本,backbone.js,Backbone.js,我使用主干过滤器进行搜索。 下面是我收集的代码 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("na

我使用主干过滤器进行搜索。 下面是我收集的代码

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可以获得匹配的文本,但如何在我的模板中显示这些文本。

请参见此

使用把手。登记帮助器

示例代码:

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);
});
handlebar.registerHelper('fullName',函数(名称){
var searchString='com';//$(“#txtSearch”).val();
var dom=name.replace(搜索字符串''
+搜索字符串+“”);
返回新把手。安全字符串(dom);
});
见此

使用把手。登记帮助器

示例代码:

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);
});
handlebar.registerHelper('fullName',函数(名称){
var searchString='com';//$(“#txtSearch”).val();
var dom=name.replace(搜索字符串''
+搜索字符串+“”);
返回新把手。安全字符串(dom);
});

你能用一个简单的例子来说明你的问题吗?是的。修改你的代码。我也可以试试。@user10:这是小提琴。。我使用的是hadlebar模板。未在外部源中找到要附加的handlebar的url,因此未执行此操作。这是我第一次把脊梁小提琴弄得如此无法工作。把我的代码放进去@埃克伦:这是小提琴。我使用的是hadlebar模板。未在外部源中找到要附加的handlebar的url,因此未执行此操作。这是我第一次把脊梁小提琴弄得如此无法工作。把我的代码放进去。对不起,有任何错误。@Cindrella handlebar-。好的,让我添加并看看它。你能用一个简单的例子来添加JSFIDLE吗?是的。修改你的代码。我也可以试试。@user10:这是小提琴。。我使用的是hadlebar模板。未在外部源中找到要附加的handlebar的url,因此未执行此操作。这是我第一次把脊梁小提琴弄得如此无法工作。把我的代码放进去@埃克伦:这是小提琴。我使用的是hadlebar模板。未在外部源中找到要附加的handlebar的url,因此未执行此操作。这是我第一次把脊梁小提琴弄得如此无法工作。把我的代码放进去。对不起,有任何错误。@Cindrella handlebar-。好的,让我加上并看一下。对不起,我没有检查。。我的网络断开了。现在尝试。是的,我知道registerHelper,但是当过滤器返回数据时,我们如何将registerHelper应用于集合中的匹配文本。因为我已经在集合中编写了搜索功能。抱歉,没有检查。。我的网络断开了。现在尝试。是的,我知道registerHelper,但是当过滤器返回数据时,我们如何将registerHelper应用于集合中的匹配文本。因为我已经在集合中编写了搜索功能。