Hello Knockout / typeahead专家,我从上面的typeahead js获得建议。我以数组格式提供数据
// ==UserScript==
// @name Steam - accept the agreement
// @include http://steamcommunity.com/market/listings/*
// @require https://greasyfork.org/scripts/12228/code/setMutationHandler.js
// ==/UserScript==
// maybe the elements are already on the page
checkThem([].slice.call(document.querySelectorAll('input[type="checkbox"]')));
// but anyway set a MutationObserver handler for them
setMutationHandler(document, 'input[type="checkbox"]', checkThem);
function checkThem(nodes) {
nodes.forEach(function(n) { n.checked = true });
}
我的绑定代码是我在stackoverflow中找到的标准绑定。我绑定到文本框
var itemsRandom= ['Apple', 'Ball','Ape'];
数据甚至没有绑定到淘汰赛js。建议得到高度赞赏。
<input type="text" data-bind="typeahead:itemsRandom,value: selectedItem">
答案 0 :(得分:1)
如果您使用的是最新版本的打字头,即0.11,则代替
valueKey: 'value',
使用
displayKey: 'value',
答案 1 :(得分:0)
要使用KO绑定自动完成功能,我在上面的代码中删除了更新程序并使用如下
var updateValues = function (val) {
allBindings.value(val);
};
// debugger;
$element.attr("autocomplete", "off")
.typeahead({
hint: true,
highlight: true,
minLength: 0,
}, {
source: substringMatcher(source),
items: allBindings,
displayKey: 'value',
limit:100
}).on('typeahead:selected', function (el, item) {
updateValues(item.value);
}).on('typeahead:autocompleted', function (el, item) {
updateValues(item.value);
});
}
};