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