Javascript 剑道下拉列表在用户选择第二项后,第一项保持选中状态
我有一个项目,我在MVVM范例中使用剑道下拉列表。dropdownlist的数据来源于viewmodel中的JavaScript数组,其值绑定到同一viewmodel中的属性 问题是dropdownlist始终保留在第一项上。我可以选择“不活动”(第二项),它会将viewModel.data.IsActive更新为“true”,但第一个“活动”项在下拉列表中保持选中状态 如果将初始viewModel.data.IsActive更改为false,则在加载时,将在下拉列表中选择第二个“非活动”项。但一旦我把它改成“活动”,它就卡在那里了,我就不能再回到“不活动”了 这个代码有什么问题?我错过了一些简单的东西吗 谢谢, 早起 viewmodel:Javascript 剑道下拉列表在用户选择第二项后,第一项保持选中状态,javascript,mvvm,kendo-ui,kendo-asp.net-mvc,Javascript,Mvvm,Kendo Ui,Kendo Asp.net Mvc,我有一个项目,我在MVVM范例中使用剑道下拉列表。dropdownlist的数据来源于viewmodel中的JavaScript数组,其值绑定到同一viewmodel中的属性 问题是dropdownlist始终保留在第一项上。我可以选择“不活动”(第二项),它会将viewModel.data.IsActive更新为“true”,但第一个“活动”项在下拉列表中保持选中状态 如果将初始viewModel.data.IsActive更改为false,则在加载时,将在下拉列表中选择第二个“非活动”项。但
var viewModel = {};
viewModel.data = {};
viewModel.data.IsActive = true;
viewModel.lookupData = {};
viewModel.lookupData.status = [{
value: true,
text: "Active"
}, {
value: false,
text: "Inactive"
}];
html:
<div class="container">
<div style="margin: 10px 0 20px 20px">
<span style="display:inline">Selected data</span>
<span data-bind="text: data.IsActive">none provided</span>
</div>
<select id="theDropdown" data-role="dropdownlist" data-bind="source: lookupData.status, value: data.IsActive" data-text-field="text" data-value-field="value" />
</div>
这些都是在JSFIDLE中实现的
谢谢!
罗德我们解决了这个问题。剑道drpopdown正在将布尔值转换为字符串。因此,如果我将下拉列表从Active/true更改为Inactive/false,它将data.IsActive更改为“false”(字符串),而不是false(布尔值)。解决方法是将值设置为字符串。谢谢,这也是我的问题!
kendo.bind($(".container"), kendo.observable(viewModel));