我想实现一个下拉列表,使用knock out js添加新项目选项。也就是说,用户可以从下拉列表中选择一个选项,他可以从同一下拉列表中输入新值。任何人都可以知道如何使用knockout js实现这一目标吗?
<select>
<option>Enter new option</option>
<option>Item1</option>
<option>Item2</option>
<option>Item3</option>
<option>Item4</option>
</select>
如上面的下拉列表所示,当用户从下拉列表中选择输入新选项时,他可以输入文本。
谢谢,
普利文。
答案 0 :(得分:0)
无法实现&#39; ComboBox&#39;只需在HTML中使用select
即可。你必须做一个解决方案来实现它。这样的事情可能是一个开始:
HTML:
<select id="dropdown" data-bind="options: dropDownItems, value: dropDownValue">
</select>
<input id="textbox" type="text" data-bind="visible: textBoxVisible" />
<button data-bind="click: showTextBoxValue">Show Current Value</button>
JavaScript的:
function Demo(){
var self = this;
self.dropDownItems = ['Item1', 'Item2', 'Item3', 'Enter new option'];
self.dropDownValue = ko.observable('one');
self.textBoxVisible = ko.computed(function(){
return self.dropDownValue() === 'Enter new option';
});
self.showTextBoxValue = function(){
alert(self.chosenValue());
};
return self;
}
ko.applyBindings(new Demo());
点击此处查看演示:http://jsfiddle.net/K2sU4/