clp*_*lpx 3 javascript mvvm knockout.js
我有这个简单的knockout.js应用程序:
视图:
<select data-bind="options: allDocumentTypes , optionsCaption: 'Choose ...', optionsValue: 'id', optionsText: 'name', selectedOptions: selectedDocument"></select>
<span data-bind="click: cl">CLEAR VALUE!</span>
Run Code Online (Sandbox Code Playgroud)
而这个简单的ViewModel:
function documentType(id, name){
this.id = id;
this.name = name;
}
var viewModel = {
allDocumentTypes: ko.observableArray([]),
selectedDocument: ko.observable(''),
cl: function(){
viewModel.selectedDocument('');
}
};
/* load data */
viewModel.allDocumentTypes.push(new documentType(1,'Test 1'));
viewModel.allDocumentTypes.push(new documentType(2,'Test 2'));
ko.applyBindings(viewModel);
Run Code Online (Sandbox Code Playgroud)
我希望,在我点击span"CLEAR VALUE!"之后,在select中将选择选项"选择...",但它没有发生.viewModel中的值设置为""(空字符串),这是正确的,但用户仍然在select中看到旧值.
有没有办法做到这一点?
谢谢你的帮助:)
Jup*_*pin 10
您必须将绑定类型更改为"值"而不是"selectedOptions".下一步是在cl函数中设置viewModel.selectedDocument:
viewModel.selectedDocument(null);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6007 次 |
| 最近记录: |