我正在使用剑道组合框。我写了下面的代码来启用和禁用组合框
function enableDisableFrameworkAndAltFrameworkVersion(platformVersion) {
var comboBox = $("#selFrameworkVersion").data("kendoComboBox");
if (platformVersion === 1 ) {
comboBox.enable(false);
}
}
但是这段代码给我的错误是“Uncaught TypeError: Cannot call method 'enable' of undefined”
请帮忙。提前致谢。
现在我在禁用剑道组合下面的这个链接上遵循了一个例子
所以现在我更改了我的 html 中的代码并将启用的参数添加到剑道组合框,如下所示
<input id="selFrameworkVersion" data-bind="kendoComboBox: { dataTextField: 'Name', dataValueField: 'Id', data: $root.versionListByProductType, value: $root.editFrameworkVersion, enabled: enableFrameWorkCombo} />
在我的视图模型中,我声明了一个可观察对象,如下所示
self.enableFrameWorkCombo = ko.observable(true);
然后改变我的功能如下
function enableDisableFrameworkAndAltFrameworkVersion(platformVersion) {
var comboBox = $("#selFrameworkVersion").data("kendoComboBox");
if (platformVersion === 1 ) {
$('#multiAltVersion').attr("disabled", true);
//comboBox.enable(false);
self.enableFrameWorkCombo(false);
return;
}
else if (platformVersion === 2 || platformVersion === 3) {
//comboBox.enable(true);
self.enableFrameWorkCombo(true);
$('#multiAltVersion').attr("disabled", true);
}
else {
//comboBox.enable(true);
self.enableFrameWorkCombo(true);
$('#multiAltVersion').attr("disabled", false);
}
}
现在它给了我错误
Uncaught Error: Unable to parse bindings.
Message: ReferenceError: enableFrameWorkCombo is not defined;
Bindings value: kendoComboBox: { dataTextField: 'Name', dataValueField: 'Id', data: $root.versionListByProductType, value: $root.editFrameworkVersion, enabled: enableFrameWorkCombo, optionsCaption: 'Please select Version...' }
我在这里做错了什么?