Javascript 剑道下拉列表在用户选择第二项后,第一项保持选中状态

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,则在加载时,将在下拉列表中选择第二个“非活动”项。但

我有一个项目,我在MVVM范例中使用剑道下拉列表。dropdownlist的数据来源于viewmodel中的JavaScript数组,其值绑定到同一viewmodel中的属性

问题是dropdownlist始终保留在第一项上。我可以选择“不活动”(第二项),它会将viewModel.data.IsActive更新为“true”,但第一个“活动”项在下拉列表中保持选中状态

如果将初始viewModel.data.IsActive更改为false,则在加载时,将在下拉列表中选择第二个“非活动”项。但一旦我把它改成“活动”,它就卡在那里了,我就不能再回到“不活动”了

这个代码有什么问题?我错过了一些简单的东西吗

谢谢, 早起

viewmodel:

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));