【发布时间】:2015-11-23 11:41:53
【问题描述】:
我有 2 个剑道下拉菜单状态和子状态。根据为状态选择的内容填充子状态。我想添加功能,以防 SubStatus 数据源仅返回 1 个子状态,默认情况下应选择该子状态。无论子状态下拉列表中有多少子状态,当前功能都会选择空白。 我打算通过在更改事件中添加一个名为 setDefaultSubStatus 的函数来实现这一点。下面是代码:
var Status = $("#Status").kendoDropDownList({
dataTextField: "DisplayValue",
dataValueField: "Id",
valuePrimitive: true,
optionLabel: " ",
autoBind: false,
dataSource: intakeView.viewModel.StatusDataSource,
change: function (e) {
intakeView.viewModel.SubStatusesDataSource.read();
setDefaultSubStatus();
}
});
function setDefaultSubStatus() {
var dropDown = $("#appointmentSubStatus").data("kendoDropDownList");
var len = dropDown.dataSource.data().length;
alert(len);
//此处不完整,需要帮助。
};
我打算如何实施: 我打算通过上述语句检查下拉列表的长度来实现这一点。如果 length = 1 ,那么我应该执行以下操作: $("#appointmentSubStatus").data('kendoDropDownList').value(1)。有没有更好的方法?
我的问题: 出于某种原因,len 的值会与更改前的值一样。所以让我们说在页面加载时下拉菜单中有 1 个子状态。当我更改有 6 个子状态的状态时,它会将 len's 值显示为 1。当我切换到只有 2 个子状态的状态时,它会将 len's 值显示为6.总是拾取先前的值。知道为什么会发生这种情况吗? 非常感谢您的帮助! :)
【问题讨论】:
标签: javascript jquery data-binding kendo-ui kendo-dropdown