选项值数据绑定不起作用
Options value data-bind not working
我在映射对象的元素并使用Knockout.js将它们绑定到<option>
元素时遇到问题。
HTML的相关部分如下:
<!-- ko if: parentObjectExists -->
<!-- ko with: parentObject -->
<div class="form-group">
<label class="control-label" for="subTaskDistributionInput">Distribution:</label>
<select id="subTaskDistributionInput" data-bind="options: options.distributions, optionsText: 'value', value: key" class="form-control input-sm"></select>
</div>
<!-- /ko -->
<!-- /ko -->
选项的元素。分布数组包含两个元素,key
和value
。相关Javascript:
function Options(data) {
var self = this;
self.distributions = ko.observableArray(data.Distributions);
//Disposal
self.isDisposed = false;
self.dispose = function () {
self.distributions.dispose();
self.isDisposed = true;
};
}
和输出选项标签:
<option value>Average</option>
<option value>Triangular</option>
A Distribution包含两个元素:key
(整数)和value
(字符串)。value
元素确实准确地传递到optionsText
中,但key
属性根本没有传递到HTML中。我几乎可以肯定这里的问题在于HTML。我尝试过的替代value:
绑定是'key'
, function() { return key; }
, $data.key
和item.key
,但这些都不起作用。如果有人能看出我在这里遗漏了什么,那将是非常感谢的。
你需要这样做
<select id="subTaskDistributionInput"
data-bind="
options: distributions,
optionsText: $root.getValue,
optionsValue: $root.getKey
"
class="form-control input-sm"></select>
参见optionsValue
代替value
小提琴演示/h3>
参见文档
我认为你应该写
optionsValue: 'key'
相关文章:
- $http中的Angular 1数据绑定承诺不起作用
- 对于使用传递的数据计算的局部范围变量,角度绑定在自定义指令中不起作用
- 为什么我的数据绑定到一个计算函数不起作用(使用knockout.js和jade)
- 数据绑定禁用属性在 foreach 内的按钮中不起作用
- 数据绑定在带有输入标签的 AngularJS 中不起作用
- foreach:绑定不起作用 ko.mapping.fromJS 数据
- 数据绑定在特定情况下不起作用(AngularJS)
- Angularjs 双向数据绑定不起作用;$watch也不起作用
- AngularJS:双向数据绑定 - 带有ng重复的指令 - 不起作用
- 使用 D3js 时,带有 DOM 的 AngularJS 数据绑定不起作用
- Angularjs 双向数据绑定不起作用
- AJAX 发布到挖空.js数据绑定不起作用
- 对话数据绑定不起作用
- 绑定数据在 d3.js 中不起作用
- AngularJS数据绑定到按钮不起作用
- 为什么我的数据绑定不起作用
- Vue.js 数据绑定样式背景图像不起作用
- 如何在不破坏角度数据绑定的情况下更新集合中的项
- javascript不会将数据绑定到HTMLSelect元素
- 第一次单击按钮时,它不会将数据绑定到表中