【发布时间】:2018-05-05 11:43:26
【问题描述】:
使用 Knockout JS,当用户键入输入字段并使用 jquery-ui 自动完成选择选择一个值(例如:水果)时,我正在尝试在单独的下拉列表中更改选项的选择下拉列表.
示例场景: (1) 用户开始输入“Fru..” (2) 在自动完成输入字段中选择“水果”。 (3) 下拉选项根据值变化:“水果” (4) 下拉选项仅显示“Apples”或其他具有等于 id 的选项(例如:ABC)
自动完成输入字段
HTML
<input type="text"
id="searchItem"
placeholder="Search"
tabindex="0"
data-bind="textInput: searchItem, valueUpdate: 'onkeyup'"/>
ViewModel/JQuery(自动完成)
// Search Item
$(function() {
var searchItem = [
{ id: "ABC", name: "Fruit" },
{ id: "DEF", name: "Animal" },
{ id: "GHI", name: "Color" },
{ id: "JKL", name: "Clothing" }
];
$("#searchItem").autocomplete({
source: searchItem
});
});
选择下拉菜单
HTML
<select class="form-control"
id="alphabetList"
data-toggle="tooltip"
tabindex="0"
data-bind=" foreach: { data: alphabetList, as: 'item' }, value: selectedItem">
<option data-bind=" attr: { 'value': item.id }, text: item.name"></option>
</select>
视图模型
// Alphabet List
this.alphabetList = ko.observableArray([
{ id: "ABC", name: "Apples" },
{ id: "DEF", name: "Dog" },
{ id: "GHI", name: "Green" },
{ id: "JKL", name: "Jacket" }
]);
【问题讨论】:
标签: javascript jquery knockout.js autocomplete