我有一个typeahead初始化函数,该函数获取我所有的typeahead字段,并应该根据数据URL值设置其远程URL。但是由于某种原因,它会将所有字段设置为第一个字段的url。如果我使用控制台手动销毁所有typeahead,然后分别定位第二个字段,则它仍使用第一个字段的url。
使用预输入0.9.3
function setTypeaheadFields() {
$.each($("[data-autocomplete]"), function() {
let input = $(this);
input.typeahead("destroy");
let resultField = input.data('inputfield');
let sourceUrl = input.data('url');
let minLength = input.data('minLength') || 3;
console.log(sourceUrl);
input.typeahead({
valueKey: 'text',
name: 'text',
minLength: minLength,
remote: {
url: sourceUrl + '/%QUERY',
filter: function(parsedResponse) {
return parsedResponse;
},
template: [
"<p class='label'><strong>{{text}}</strong></p>"
].join(''),
engine: Hogan
}
}).on('typeahead:selected typeahead:autocompleted', function(e, datum) {
$(resultField).val(datum.id);
}).on('typeahead:closed', function() {
$(resultField).val('');
});
});
}
答案 0 :(得分:0)
这是选项中的“名称”字段。我不知道设置预输入对象的名称。我所要做的就是以编程方式设置名称,而一切都变得笨拙。