KendoUI - 如何引用控件
KendoUI - How to reference control?
我甚至通过grid.bind处理编辑:
$(document).ready(function () {
// Dialog related
var grid = $("#MyGrid").data("kendoGrid");
grid.bind("edit", function (e) {
var datePicker = $("#EndDate").getKendoDatePicker();
if (e.model.isNew()) {
e.container.kendoWindow("title", "Add Something");
}
else {
e.container.kendoWindow("title", "Edit Something");
}
});
});
首次触发事件时,日期选取器是可用的对象。事件的后续触发将日期选取器定义为未定义。
更新:我还创建了一个示例非剑道页面,该页面执行相同的操作:
http://jsbin.com/uZEqiMo/1/edit?html,js,output
谁能解释一下有什么区别,以及我可以在剑道UI中做些什么来每次获得参考?
在尝试了多种方法之后,我开始更多地研究传递给编辑事件(我确信其他事件)的事件参数。解决方案是从传入的事件对象中查找控件,而不是尝试在网格中查找它。在我的例子中,名为"e"的事件对象具有"容器"属性。这个"容器"属性实际上是对窗口(弹出对话框)的引用,因此调用jquery的查找使其正常工作。以下是更新的代码:
$(document).ready(function () {
// Dialog related
var grid = $("#MyGrid").data("kendoGrid");
grid.bind("edit", function (e) {
// Note: getKendoDatePicker below you could be substituted with .data("kendoDatePicker") // Right way
var datePicker = $(e.container).find("EndDate").getKendoDatePicker();
// var datePicker = $("#EndDate").getKendoDatePicker(); - Wrong way
if (e.model.isNew()) {
e.container.kendoWindow("title", "Add Something");
datePicker.enable(false);
}
else {
e.container.kendoWindow("title", "Edit Something");
datePicker.enable(true);
}
});
});
相关文章:
- 音频控件在mouseover上显示,在mouseout上淡出
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 在构建网站时,我应该在特定用户控件或母版页中引用 JavaScript 库
- 页面加载后控件的空引用
- 剑道 UI - 如何引用控件
- 如何在页面上引用多个相同的用户控件
- KendoUI - 如何引用控件
- 由于引用了相同的javaScript文件,Kendo UI控件没有显示在网页上,如何克服这一点
- 如何在javascript中的其他地方引用控件包装器的值
- 如何在自定义控件中添加.js文件引用
- 引用当前正在使用的HTML选择控件
- 在拖放后获取对控件的引用
- Angular 2引用了验证消息的控件
- jQuery中的控件引用
- 当asp.net控件不存在于内容页中时,母版javascript会导致对象引用错误
- 在javascript中引用ASP.NET web控件
- jQuery引用模板字段中的控件ID
- 如何从 ExtJS 控件引用祖先容器对象
- web服务中的引用控件