加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

twitter-bootstrap – 如何使Twitter预先确定完全匹配的单词和短

发布时间:2020-12-17 20:42:49 所属栏目:安全 来源:网络整理
导读:Twitters Typeahead匹配短语中任何位置的任何单词,因此搜索“car”结果可能来自带有匹配“car”的第二个单词的短语.例如,当用名片搜索列表中的汽车时.名片出现,更糟糕的是它出现在汽车前. IE: Search Term: CarSuggestions:Business CardCarCar PoolCarbon
Twitters Typeahead匹配短语中任何位置的任何单词,因此搜索“car”结果可能来自带有匹配“car”的第二个单词的短语.例如,当用名片搜索列表中的汽车时.名片出现,更糟糕的是它出现在汽车前. IE:

Search Term: Car
Suggestions:
Business Card
Car
Car Pool
Carbon

我希望它更像谷歌和推特(他们从来没有建议一些与开头输入的内容完全不匹配的东西),其中键入的词是最相关的,因此汽车在打印汽车时比商务卡更有意义.

我希望它实际上只是停止匹配第二个单词,直到某人键入一个空格并开始第二个单词.因此,在上面的示例中,除非我输入以下名片,否则名片不会出现在列表中:

Business C

如何停止匹配和建议与键入搜索的开头不完全匹配的单词的行为.

另一种说法是如何阻止输出标记或分割空间. typeahead总是匹配单词的开头(^),所以如果空格不被识别为单词边界,那么它将更像google和twitters用户所期望的.

谢谢你的帮助,
泰勒

更新1.

我更新了我的数据集以返回一个具有值和标记的基准,以便类型_transformDatum方法不会通过拆分空格来标记标记.这很好用,现在可以按预期工作:

价值观:Apple,Great Ape

搜索词:Ap
建议:
苹果

这就是我要的.但现在有一个新问题.

问题:当使用带空格的搜索词时,不会返回任何建议.

所以现在当我键入“great”时,一旦我输入空格,建议就会停止:

搜索字词:很棒(有空格)
建议:
(没有)

我在想,令牌不能有空格.即使文档没有在一个问题中明确说明这一点:

The canonical form of a datum is an object with a value property and a
tokens property. value is the string that represents the underlying
value of the datum and tokens is a collection of strings that aid
typeahead.js in matching datums with a given query.

解决方法

您可以

$('.typeahead').typeahead({source:myarray,matcher: function(item){
    var reg = new RegExp('^'+this.query);
    if( item.match(reg) ) return true;
    else return false;
 }})

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读