首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在$(document).ready上操作.ready CSS

在$(document).ready上操作.ready CSS
EN

Stack Overflow用户
提问于 2013-08-07 13:01:15
回答 2查看 640关注 0票数 1

我试图启用/禁用日期选择器,具体取决于其他小部件(复选框和数字文本框)。当我试图以true或false作为参数调用DatePicker.enable()时,会得到一个错误,因为DatePicker还没有准备好。似乎Kendo小部件也要等到$(document).ready才准备好。当日期选择器准备好被操作时,有什么事件或事情可以告诉我吗?目前,我使用的是setTimeout,这感觉非常错误。

下面是我的代码示例。

代码语言:javascript
复制
$(document).ready(function () {
    ChangeDatePickersState();
});

function ChangeDatePickersState() {
    var input = $('#MyCheckbox:checked')
    var bool = input.length != 0 ? true : false;
    EnableDatePickerForCheckbox('MyDatePicker', bool);

function EnableDatePickerForCheckbox(inputName, inputValue) {
    var datePicker = $('#' + inputName).data("kendoDatePicker");
    if (inputValue == true) {
        datePicker.enable(true);
    }
    else {
        datePicker.enable(false);
        datePicker.value(null);
    }
}

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-08 12:35:27

我忘了在MVC中提到使用Kendo的im,但不管怎样,我从他们的论坛上得到了一个答案:

Kendo小部件在初始化时不会触发事件,但是如果在document.ready处理程序中包含自定义逻辑,则可以依赖它们的存在,该处理程序是在页面末尾添加的。这将确保在所有小部件初始化语句之后执行处理程序,这些语句也依赖于document.ready。在这种情况下不需要setTimeout。

有些小部件(如网格或ListView )可以初始化,但仍未在document.ready中填充。根据具体情况,您可以使用相应的小部件的dataBound事件来执行自定义逻辑。

谢谢大家!

票数 1
EN

Stack Overflow用户

发布于 2013-08-07 14:11:55

DatePicker应该准备好在调用时立即修改

代码语言:javascript
复制
$("#MyDatePicker").kendoDatePicker();

我对您在这里发布的JS代码做了如下更改,它起了作用

代码语言:javascript
复制
$(document).ready(function () {
    $("#MyDatePicker").kendoDatePicker();
    ChangeDatePickersState();
});

有关更多信息( http://demos.kendoui.com/web/datepicker/api.html Disabling kendo datepicker when clicked on checkbox ),请参阅以下链接

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18104089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档