Thu*_*wat 0 javascript knockout.js
我有一个这样的下拉列表:
<select data-bind="options: movieInitValues,
optionsText: 'Text',
optionsValue: 'Value',
value: movieSelectedValue" id="movieSelectDDL"></select>
Run Code Online (Sandbox Code Playgroud)
一切正常,但是我想将下拉列表的文本捕获到模型的“movieSelectedName”属性中,以便稍后向用户显示一条不错的消息。有没有办法做到这一点?
感谢您的任何想法。
根据您的代码,看起来中的值movieInitValues有一个Text属性和一个Value属性。您已经告诉淘汰赛使用该Value属性作为movieSelectedValue通过使用optionsValue: 'Value'.
如果您需要在其他地方使用theText和Value属性,最好让 Knockout 存储在您的 observable 中选择的实际对象,然后在其他地方使用这些属性。如果删除optionsValue设置,它将存储对象:
<select data-bind="options: movieInitValues,
optionsText: 'Text',
value: movieSelected" id="movieSelectDDL"></select>
Run Code Online (Sandbox Code Playgroud)
然后,您可以基于movieSelected我刚刚创建的更新的observable在您的 VM 上创建两个计算的 observable :
vm.movieSelected = ko.observable();
vm.movieSelectedValue = ko.computed(function() { return vm.movieSelected().Value; } );
vm.movieSelectedText = ko.computed(function() { return vm.movieSelected().Text; });
Run Code Online (Sandbox Code Playgroud)
或者只是更新您的其他绑定以直接使用vm.movieSelected().Textand vm.movieSelected().Value。
| 归档时间: |
|
| 查看次数: |
1418 次 |
| 最近记录: |