我的目标:使用KnockoutJS我有一组输入文本字段,用户可以输入他们的产品名称和typeahead.js将为每个文本框提供自动建议.可以动态添加或删除更多这些文本字段.
看实例(JS Fiddle): http ://jsfiddle.net/justosophy/5Z9We/
问题是: Typeahead适用于初始文本字段,但仅适用于动态字段.淘汰自定义绑定allBindingsAccessor()未定义,因此无法保存该值.
错误:
TypeError: string is not a function
Run Code Online (Sandbox Code Playgroud)
HTML:
<div data-bind="foreach: products">
<div class="product">
<label>Enter Product Name:</label>
<input type="text" class="text-input product-search" data-bind="typeahead: productName, value: productName, productNameVal: productName, productIDVal: productID, valueUpdate: 'afterkeydown'" />
<a class="btn btn-danger" data-bind="click: $root.removeProduct" title="remove">remove</a>
</div>
</div>
<a class="btn btn-primary" data-bind="click: addProduct">Add another product</a>
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
var my = {}, i;
// Create two initial entry boxes
my.initialData = [];
for (i = 2; i !== 0; i -= 1) …Run Code Online (Sandbox Code Playgroud)