Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Knockout.js 邮政编码的自动完成不';t显示数据_Knockout.js_Knockout 3.0 - Fatal编程技术网

Knockout.js 邮政编码的自动完成不';t显示数据

Knockout.js 邮政编码的自动完成不';t显示数据,knockout.js,knockout-3.0,Knockout.js,Knockout 3.0,我使用邮政编码API作为自动完成搜索的源,但我无法显示返回的数据。这个API是打开的,数据在函数中返回,但不是在我的html中返回。 我可能试图通过labelProp:$data错误地显示数据,但我尝试的任何操作都失败了。 如果我将autocomplete的source:getPostcodes更改为其他具有数据的数组,则它可以工作,但使用getPostcodes函数会失败。 从服务返回的用于搜索“”的数据为: 我正在使用此库进行自动完成: 我不确定“回调”是否正常工作,因为此代码始终为空:

我使用邮政编码API作为自动完成搜索的源,但我无法显示返回的数据。这个API是打开的,数据在函数中返回,但不是在我的html中返回。 我可能试图通过
labelProp:$data
错误地显示数据,但我尝试的任何操作都失败了。 如果我将autocomplete的
source:getPostcodes
更改为其他具有数据的数组,则它可以工作,但使用
getPostcodes
函数会失败。 从服务返回的用于搜索“”的数据为:

我正在使用此库进行自动完成:

我不确定“回调”是否正常工作,因为此代码始终为空:

<div data-bind="text: ko.toJSON(getPostcodes)"></div>

我的html:

  <input data-bind="jqAuto: { value: postcode, source: getPostcodes, labelProp: $data, valueProp: $data}" />

结果需要格式化并存储在回调中,例如:

}).done(function (data) {
    if (data) {
        var formatteddata = [];

        for (var i = 0; i < data.result.length; i++) {
            var item = data.result[i];
            formatteddata.push({ 'label': item, 'value': item });
        }
        callback(formatteddata);
        //return formatteddata;
    }
});
}).done(函数(数据){
如果(数据){
var formatteddata=[];
对于(变量i=0;i
函数“getPostcodes”本身不返回任何内容,因此
data bind=“text:ko.toJSON(getPostcodes)”
无论如何都不会显示任何内容。您可以通过用自己的函数替换回调来测试ajax是否返回,但是没有简单的方法来测试“回调” itself@JasonSpake你知道我将如何返回结果吗?很奇怪为什么这是必要的,因为文档似乎暗示,如果你只是返回文本,你可以完全放弃“valueProp”和“labelProp”绑定选项,它应该可以正常工作。不过,我很高兴你找到了解决办法
  <input data-bind="jqAuto: { value: postcode, source: getPostcodes, labelProp: $data, valueProp: $data}" />
}).done(function (data) {
    if (data) {
        var formatteddata = [];

        for (var i = 0; i < data.result.length; i++) {
            var item = data.result[i];
            formatteddata.push({ 'label': item, 'value': item });
        }
        callback(formatteddata);
        //return formatteddata;
    }
});