淘汰数据绑定问题
Knockout data-bind issue
我有一个带有数据绑定的dropdownlist;
<asp:DropDownList ID="cmbType" Runat="server" AutoPostBack="False" data-bind="value: moveType">
<asp:ListItem Value="">-- Please Select --</asp:ListItem>
<asp:ListItem Value="0">Car</asp:ListItem>
<asp:ListItem Value="1">Air</asp:ListItem>
</asp:DropDownList>
我也有
var viewModel = {
this.moveType = ko.observable(MoveType);
};
ko.applyBindings(new ViewModel());
其中"MoveType"是0或1。这似乎很有效,但只是部分有效。一切都很好,只有当"MoveType"=1时,才能正确选择下拉列表中的值。如果MoveType=0,它不想选择"Car",而是选择值为"--Please select--"的选项。
问题很简单,为什么?我错过了什么?我听不懂。
您确定控制台中没有出现任何错误吗?
我把你的代码改成了:
var MoveType=1;
var ViewModel = function() {
this.moveType = ko.observable(MoveType);
};
ko.applyBindings(new ViewModel()); // This makes Knockout get to work
现在它似乎起了作用:你可以在这里测试
"car"在下拉列表中的值为0
(查看您的Value
属性)。这就是0
导致选择"car"的原因。如果要选择"--请选择--",则需要将该值设置为空字符串""
。
这反过来意味着您的javascript moveType
以及C#MoveType
必须是字符串而不是数字,因为"不是有效的数字。
为了防止这种情况发生,我建议您对选项进行不同的编号:使用Value="1"
表示汽车,使用Value="2"
表示空气。然后您的"请选择"选项得到Value="0"
。
相关文章:
- 在VanillaJS中模拟模型双向数据绑定
- Telerik rad组合框多列数据绑定
- 数据绑定:'系统Char'不包含名为'xxxxx'
- OnsenUI AngularJS数据绑定无法正常工作
- Ionic-item在导航栏中进行双向数据绑定
- 基本D3.js:如何将具有其他属性的数据绑定到元素
- 使用自定义数据属性或将数据绑定到处理程序来处理事件
- ListView的ItemTemplate内的自定义HtmlControl的数据绑定失败
- $http中的Angular 1数据绑定承诺不起作用
- 在何处和何时添加具有数据绑定的元素
- 使用AngularJs数据绑定的三元运算符显示图像
- 为什么针对工厂的Angular数据绑定只适用于函数
- 挖空和显示模块模式的数据绑定问题
- 使用大括号的 Internet Explorer 上的 AngularJS 数据绑定问题
- angularjs数据绑定问题
- 淘汰数据绑定问题
- 数据绑定到文本区域和ng显示问题
- AngularJS ng-repeat数据绑定中的问题
- Windows商店js应用程序导航控件导致数据绑定问题
- AngularJS-文本区域中的数据绑定问题