【问题标题】:Twitter like @ or # key search using bootstrap suggestTwitter 喜欢 @ 或 # 使用 bootstrap 建议键搜索
【发布时间】:2017-01-11 07:45:19
【问题描述】:

请建议我如何在下面的同一段脚本中不仅使用@,还使用# 键进行搜索或自动建议。任何简化解决方案的正则表达式将不胜感激。

$('textarea').suggest('@', {
    // or an external JSON data file
    data: users,

    // style the autocomplete/autusuggest list
     map: function(user) {
          return {
            value: user.username,
            text: '<strong>'+user.username+'</strong> <small>'+user.fullname+'</small>'
          }
        }
      });

这里给出了相同的链接Twitter Like @Mentions Auto Suggesting。 问题是我希望 @ 和 # 这两个键都用作搜索模式。但在上面的脚本中,只使用了@。

【问题讨论】:

  • 不知道,但在DOC 他们说:$('#textarea').suggest({key: options, key2: options}) 所以我猜.suggest({'@': optsObj, '#': optsObj}); 如果key 可以是一个正则表达式或至少是一个单独的字符串处理会更容易逗号,空格或其他键

标签: jquery twitter-bootstrap twitter


【解决方案1】:

来自DOC,你需要使用:

var optsObj = {
  // or an external JSON data file
  data: users,

  // style the autocomplete/autusuggest list
  map: function(user) {
    return {
      value: user.username,
      text: '<strong>' + user.username + '</strong> <small>' + user.fullname + '</small>'
    }
  }
};

$('textarea').suggest({
  '@': optsObj,
  '#': optsObj
});

【讨论】:

  • 完美!我已经浏览了文档,但没有注意到多重,但你拯救了我的一天。非常感谢。
  • 如何识别搜索是使用 @ 还是 # 完成的?
  • @HimanshuShekhar 看起来这个插件无法处理它。一种方法是扩展作为选项传递的 obj 并设置关键属性:$('textarea').suggest({ '@': $.extend({}, optsObj, {key: '@'}), '#': $.extend({}, optsObj, {key: '#'}) }); 然后在任何插件回调中,检查 this.key。或者简单地说,对于每个键,传递不同的 obj 选项。现在我很不清楚你希望如何检查它。你应该提供一个 jsFiddle 来复制你的问题和预期的行为,我想有更好的方法来做这取决于你在寻找什么
  • 我已经做到了。谢谢你。我为哈希键创建了另一个对象。
猜你喜欢
  • 2014-11-23
  • 2013-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-25
  • 1970-01-01
  • 2015-09-19
相关资源
最近更新 更多