使用bootstrap-tagsinput从远程URL加载自动完成数据

时间:2015-06-07 22:50:17

标签: javascript jquery twitter-bootstrap twitter-bootstrap-3 bootstrap-tags-input

我想创建一个带有自动完成功能的文本输入,并从我的数据库中填充数据。

我一直试图让bootstrap-tagsinput无法正常工作。从静态json文件填充数据工作正常。我的服务器现在返回此结果(不管查询如何,都是常量结果):

[{"text":"Amsterdam","value":0},{"text":"A Coruna","value":1},{"text":"New York","value":2}]

当我尝试以下代码时,执行处理程序。当我在输入框中输入时,我看到服务器日志上的GET请求,但自动完成功能没有显示。

我尝试向get添加一个额外的函数参数,只是在查询结束时弹出一个警告框,但没有任何反应。我尝试将第二个参数绑定到process,然后将其调用到"处理数据",但显然这也没有帮助。

有什么想法吗?

(我使用bootstrap-tagsinput 0.4.2和jquery 2.1.4)。

<html>
  <head>
    <title>Bootstrap Tags Input</title>
    <meta name="robots" content="index, follow" />
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />

    <link rel="stylesheet" href="bootstrap.css">
    <link rel="stylesheet" href="bootstrap-tagsinput.css">
  </head>
  <body>

  <input type="text" value="" data-role="tagsinput" />

  <script src="jquery.min.js"></script>
  <script src="bootstrap.min.js"></script>
  <script src="bootstrap-tagsinput.min.js"></script>
  <script>
  $('input').tagsinput({
    itemValue: 'value'
    , itemText: 'text'
    , typeahead: {
        source: function(query) {
          return $.getJSON('http://localhost:3000/transactions/categories/' + query);
        }
      }
    , freeInput: false
    });
  </script>
  </body>
</html>

1 个答案:

答案 0 :(得分:0)

错误发生在其他地方(服务器端),但是从普通浏览器生成有效的json。这是为了失败的ajax请求。

我发布的代码实际上有效。

对不起噪音。现在关闭。