首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >knockout.js应用编程接口搜索表单

knockout.js应用编程接口搜索表单
EN

Stack Overflow用户
提问于 2013-03-18 17:26:06
回答 2查看 700关注 0票数 0

我的代码的目标是搜索API搜索字符串:

因此,如果您填写表单,您将得到命中的bij名称。

我使用了以下Knockout.js脚本:

代码语言:javascript
复制
var viewModel=
{
    query : ko.observable("wis"),
};

function EmployeesViewModel(query)
{
    var self = this;
    self.employees = ko.observableArray();
    self.query = ko.observable(query);
    self.baseUri = BASE + "/api/v1/search?resource=employees&field=achternaam&q=";

    self.apiurl = ko.computed(function() {
        return self.baseUri + self.query();
    }, self);
    //$.getJSON(baseUri, self.employees);
    //$.getJSON(self.baseUri, self.employees);
    $.getJSON(self.apiurl(), self.employees);
};

$(document).ready(function () {
    ko.applyBindings(new EmployeesViewModel(viewModel.query()));
});

html绑定是:

代码语言:javascript
复制
<input type="text" class="search-query" placeholder="Search" id="global-search" data-bind="value: query, valueUpdate: 'keyup'"/>

但是如果我填满文本框,我只能得到默认的"wis“employees?我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-19 21:00:15

经过一番挖掘,我找到了一个解决方案。

代码语言:javascript
复制
var employeesModel = function(){

        var self = this;

        self.u = base +'/api/v1/search';
        self.resource = 'employees';
        self.field = 'achternaam';
        self.employees = ko.observableArray([]);
        self.q = ko.observable();

        //Load Json when model is setup
        self.dummyCompute = ko.computed(function() {
            $.getJSON(self.u,{'resource': self.resource, 'field': self.field, 'q':self.q }, function(data) {
                    self.employees(data);
             });

        }, self);
    };

    ko.applyBindings(new employeesModel());
票数 0
EN

Stack Overflow用户

发布于 2013-03-18 17:57:08

我不完全确定这里出了什么问题,但是您是否已经调试过它,并且看到了apiurl中query的值是什么?

一个潜在的问题是,您将employees作为可观察对象传递给getJSON,而不是底层数组,因此您可以尝试:

代码语言:javascript
复制
$.getJSON(self.apiurl(), self.employees());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15473348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档