【问题标题】:Pass array to typeahead Bootstrap将数组传递给预先输入的 Bootstrap
【发布时间】:2012-09-26 14:05:01
【问题描述】:

我正在尝试通过 json 将一组值传递给 Bootstrap 的 Typeahead 插件的 source: 选项。

这是我的简单代码:JsFiddle

我有一个 JSON 对象,我只想将值 id 传递给 source: array

我做错了什么...我尝试了很多东西。

【问题讨论】:

    标签: jquery arrays json twitter-bootstrap


    【解决方案1】:

    Twitter 的 typeahead 需要一个 Javascript 数组类型。因此,您需要使用 JSON.parse(myJSONObject) 将您的 JSON 对象转换为合法数组。但是,预输入也需要一个字符串数组,而不是数组数组...所以,问题是 - 您要在预输入中显示这些数组的哪个参数?

    {
        "id":"2",
        "pid":"0",
        "type":"Group",
        "code":"g",
        "status":"1"
    }
    

    看起来您的 vals 函数正在隔离 id 参数。如果这是您希望提前显示的参数,只需将source 指向x。签出这个修改后的 jsFiddle:

    【讨论】:

    • 您需要做的就是将此var input = $('#test'); input.typeahead({ source: x }); 移动到javascript 代码的底部,它应该适合您。
    • 这个小提琴在 Chrome 46 上对我不起作用,金丝雀。
    【解决方案2】:

    还有用于此目的的 local 属性。

    您可以在 typeahead 中使用 local 属性来提供数组,而无需处理数据。

    例如

    var data = ["john", "terry", "phil","stuart","louis","marie","bob"];
    
    $("#user-search").typeahead({
       name: "user-search",
       local: data,
       limit: 10
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多