设置默认数据绑定选项的值
Set the value of the default data-bind options
假设我们有以下数据绑定
<select data-bind="options: availableCountries,
optionsText: 'countryName',
value: selectedCountry,
optionsCaption: 'Choose...'">
</select>
我想设置optionsCaption的默认值。
(用户选择"choose.."时selectedCountry
的值)
不能为optionsCaption
选择分配任意选项值(无论如何都是开箱外的)。有几个选项需要考虑,其中一些比较迂回:
-
只是在您的国家数组中添加另一个选项,例如:
self.availableCountries = ko.observableArray([ 'Choose...', 'United States', 'Mexico', 'Canada' ]);
,然后有一些逻辑来检查当
selectedCountry == 'Choose...'
。 -
与1类似,将数组转换为对象数组:
self.availableCountries = ko.observableArray([ { text: 'Choose...', value: 'MY_DEFAULT' }, { text: 'United States' value: 'United States' }, { text: 'Mexico', value: 'Mexico' }, { text: 'Canada', value: 'Canada' } ]);
和bind as:
<select data-bind="options: availableCountries, value: selectedCountry, optionsText: text, optionsValue: value"> </select>
-
如果你不想让非国家元素在你的数组(你可能不),你可以绕过它与optionsAfterRender:
<select data-bind="options: availableCountries, value: selectedCountry, optionsCaption: 'Choose...', optionsAfterRender: function(item, value) { item.value = value || 'MY_DEFAULT'; }"> </select>
这个特殊的例子将设置任何空白值为'MY_DEFAULT'。您也可以检查
item
的文本== '选择…'。
如果要设置默认值,请使用选项中的value
。
<select data-bind="options: availableCountries,
value: selectedCountry()">
</select>
现在美国将从选项中设置。
更新小提琴:https://jsfiddle.net/3z2zzy0b/3/
相关文章:
- 在VanillaJS中模拟模型双向数据绑定
- Telerik rad组合框多列数据绑定
- 数据绑定:'系统Char'不包含名为'xxxxx'
- OnsenUI AngularJS数据绑定无法正常工作
- Ionic-item在导航栏中进行双向数据绑定
- 基本D3.js:如何将具有其他属性的数据绑定到元素
- 使用自定义数据属性或将数据绑定到处理程序来处理事件
- ListView的ItemTemplate内的自定义HtmlControl的数据绑定失败
- $http中的Angular 1数据绑定承诺不起作用
- 在dojo中将数据从一个选项卡绑定到另一个选项卡(打开选项卡?)
- Magento网站-按选项排序:上下箭头与排序数据绑定,只需删除上下箭头即可
- 如何设置<选项>在用数据绑定填充的选择中='选项:[..]'
- 对没有数据绑定“选项”或“标题”的选择列表进行挖空验证
- AngularJS<选择>来自AJAX调用的<选项>的双向数据绑定
- 使用引导选项卡窗格和折叠项的数据绑定错误
- 选项值数据绑定不起作用
- 数据绑定到我的应用程序,如果写在其他浏览器选项卡
- 选择选项数据绑定值
- 如何在Knockout中的数据绑定选项中自动选择用户状态
- 设置默认数据绑定选项的值