javascript - 使用 Parse.com 进行 Bootstrap Typeahead

标签 javascript json twitter-bootstrap parse-platform bootstrap-typeahead

我正在尝试将 typeahead 与 Parse.com 结果结合使用。我认为 Parse 返回 JSON 对象,但似乎以下方法无法识别它。任何人都可以发现出了什么问题吗?或者也许有更简单的方法可以使其工作(最后我希望能够搜索每个对象的两个字段)。

据我所知(感谢:https://github.com/bassjobsen/Bootstrap-3-Typeahead):

function queryListy(){
    Parse.Cloud.run('queryList', {}, {
        success: function(result) {      
          var $input = $('#query');       
          $input.typeahead({source:result, 
            autoSelect: true}); 
          $input.change(function() {
                var current = $input.typeahead("getActive");
                if (current) {
                    // Some item from your model is active!
                    if (current.name == $input.val()) {
                        // This means the exact match is found. Use toLowerCase() if you want case insensitive match.
                    } else {
                        // This means it is only a partial match, you can either add a new item 
                        // or take the active if you don't want new items
                    }
                } else {
                    // Nothing is active so it is a new value (or maybe empty value)
                }
            });
        },
        error: function(error) {
           console.log(error);
          }
    });
}

当我输入 [{id: "someId1", name: "Display name 1"}, {id: "someId2", name: "Display name 2"}] 而不是 结果它有效,所以基 native 制似乎是正确的。

最佳答案

Parse 不会以可直接使用的形式返回对象。您需要对所需的每个属性调用 get:

var mappedObjects = [];
result.forEach(function(parseObject){
  mappedObjects.push({
    id: parseObject.id, //id is special, you don't need get
    name: parseObject.get("name"), //generic fields need get
  });
});
$input.typeahead({source:mappedObjects, ...

如果您愿意,您可以在云代码中执行此映射,这样您的客户端代码就不需要这样做。

关于javascript - 使用 Parse.com 进行 Bootstrap Typeahead,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34293102/

相关文章:

json - 将文件读入 JSON

javascript - 如何在 TypeScript 项目的 JSON 类中重写 JSON.stringify 方法,而不是在自定义调用中?

html - 网站无法在移动设备上正确调整大小

javascript - Bootstrap Popover 为整个表单发出隐藏事件

javascript - 通过 Ajax 一次单击提交多个表单

javascript - 通过相同的 id 实时更新 javascript 中的文本

JavaScript 替换所有忽略大小写敏感

javascript - 解决所有错误后,如何使 data-parsley-errors-container ="#element"消失?

c# - 调用 WCF 引用类型变量

html - Bootstrap 2 Column,里面有容器