2014-04-07 48 views
0

我想實現一個下拉列表,添加新項目選項使用敲出js。也就是說,用戶可以從下拉列表中選擇一個選項,並且他可以從同一個下拉列表中輸入新值。任何人都可以知道如何使用knockout js來實現這一點嗎?敲下js下拉列表,並輸入新值

<select> 
    <option>Enter new option</option> 
    <option>Item1</option> 
    <option>Item2</option> 
    <option>Item3</option> 
    <option>Item4</option> 
</select> 

如上圖所示,當用戶選擇從下拉列表中輸入新選項時,他可以輸入文本。

謝謝,

Praveen。

回答

0

僅僅使用HTML中的select來實現'ComboBox'是不可能的。你將不得不做一個解決方案來實現這一點。像這樣的東西可能是一個開始:

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/