【问题标题】:Link the text in the text box to a pre-defined list将文本框中的文本链接到预定义列表
【发布时间】:2016-05-07 13:15:57
【问题描述】:

我正在开发一个使用 PHP、Jquery、CodeIgniter 的项目。我们有一个存储在 MySQL 表中的产品数据库。

我们有一个 PHP 页面,用户可以在其中注册服务请求。要求是如果用户开始在文本框中输入@product1,我们应该能够将其链接到我们数据库中的product1

这与 facebook 的做法非常相似,但要求是一旦用户开始输入@,我们的页面就应该能够智能地猜测产品并给出选项。就像例如如果用户输入@pro...,系统应该给他product1product2等。

请帮忙。不清楚的可以详细说明。

【问题讨论】:

  • 其自动完成功能使用AJAX

标签: php jquery mysql codeigniter autocomplete


【解决方案1】:

您可以尝试使用jquery.mentionsInput 插件。

$('textarea.mention').mentionsInput({
  onDataRequest:function (mode, query, callback) {
    // here instead of having all data you can do an AJAX-request to your server
    var data = [
      { id:1, name:'product1', avatar:'..', type: 'product' },
      { id:2, name:'product2', avatar:'..', type: 'product' },
    ];
    data = _.filter(data, function(item) { return item.name.toLowerCase().indexOf(query.toLowerCase()) > -1 });

    callback.call(this, data);
  }
});

然后在php端解析@[product1](product:1)

【讨论】:

  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
  • 我想评论我的答案,但这需要至少 50 名声望,我没有那么多,所以我发布了这个作为答案:) 我只是想帮助那个人......
  • 您的回答没有任何问题,只是它没有包含该链接的一些摘录以及关于它如何适用的解释。添加了一些代码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-11
  • 1970-01-01
  • 1970-01-01
  • 2013-04-12
  • 2011-11-02
  • 2021-01-22
  • 1970-01-01
相关资源
最近更新 更多