knockout.js - KnockoutJS 获取 Select 的文本和值
问题描述
我有这行代码用于选择:
<select data-bind="options: $root.Countries, optionsText: 'Text', optionsValue: 'Value', value: $root.SelectedDialogCountry, optionsCaption: 'All'"></select>
我可以得到用“值”选择的值,但我也想得到“文本”
示例: 文本:美国 值:美国
有没有办法让我得到“美利坚合众国”?
解决方案
您可以从绑定中删除该optionsValue: 'Value'
属性。这会将整个Country对象设置为SelectedDialogCountry
observable 中的值。(文档)
这是一个工作片段。
function viewModel() {
const self = this;
self.Countries = ko.observableArray([
{ Text: "United States of America", Value: "USA" },
{ Text: "China", Value: "CHN" },
{ Text: "India", Value: "IND" }]);
self.SelectedDialogCountry = ko.observable();
self.SelectedDialogCountry.subscribe(_ => {
console.log(self.SelectedDialogCountry().Text)
console.log(self.SelectedDialogCountry().Value)
})
};
ko.applyBindings(new viewModel)
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<select data-bind="options: Countries,
optionsText: 'Text',
value: SelectedDialogCountry,
optionsCaption: 'Select'"></select>
推荐阅读
- r - 每个因子组的过滤日期
- java - 将后序遍历值放入数组列表中
- javascript - Blob 在生成 csv 文件时跳过第一列
- python - 在训练期间对度量进行评估时,是否应该将数据批次移动到 CPU 并转换(从 Torch Tensor)到 numpy 数组?
- apexcharts - 如何显示小饼片的数据标签?
- javascript - 我想遍历一个项目以创建一个数组,然后将其存储在数据库的数组字段中。我该怎么做?
- pug - 合并mixin外部属性宽度内部声明的属性而不在Pug中复制“类”键
- php - 革命滑块在本地主机上工作,但不在服务器上
- xslt-1.0 - 如何在xsl中的文本之间给出动态值?
- html - 在 html 电子邮件正文中添加倒数计时器