将文本框中的文本链接到预定义的列表


Link the text in the text box to a pre-defined list

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

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

这与Facebook的做法非常相似,但要求是 一旦用户开始输入@ ,我们的页面应该是智能的,可以猜测产品并提供选项。例如,如果用户正在输入@pro...系统应该给他product1product2等。

请帮忙。如果我不清楚,我可以详细说明。

你可以尝试使用 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)