我遇到了因敲除foreach绑定而产生的自动完成问题。 请查看jsfiddle http://jsfiddle.net/u05afbpp/1/
<table data-bind="foreach: cars" class="table table-striped table-bordered">
<tr>
<td>
<span>Test</span>
<input type="text" class="autocomplete"/>
</td>
</tr>
</table>
$(function() {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell"
];
$(".autocomplete").autocomplete({
source: availableTags
});
});
var viewModel = {
cars:ko.observableArray(),
myValue: ko.observable()
};
viewModel.cars.push("BMW");
viewModel.cars.push("Benz");
viewModel.cars.push("Renault");
ko.applyBindings(viewModel);
我该怎么做才能让它发挥作用?
感谢您的时间。
答案 0 :(得分:1)
当页面开始渲染时,可能没有类.autocomplete的元素。这是你想要的吗? http://jsfiddle.net/G_sh/u05afbpp/6/
我已将以下代码移至准备好的功能,希望它能正常工作。
var viewModel = {
cars:ko.observableArray(),
myValue: ko.observable()
};
viewModel.cars.push("BMW");
viewModel.cars.push("Benz");
viewModel.cars.push("Renault");
ko.applyBindings(viewModel);