有没有其他人有这个问题?
根据所有文档,您应该能够使用以下代码访问任何 Telerik Extensions 或 Kendo 控件的数据
var data = $('#id').data('tControlType')
但是,我从来没有真正让这个代码工作。无论我做什么,“数据”函数总是返回未定义的。该控件实际上可以正常工作,并且我可以通过其他几种方式获取控件数据,例如通过任何事件处理程序的 event.sender,但数据函数不起作用。
我正在使用 Telerik Script Registrar 在我的页面中包含 jQuery 和其他脚本。这目前看起来像这样:
@{Html.Telerik().ScriptRegistrar().jQuery(true).jQueryValidation(true)
.Globalization(true).DefaultGroup(group => group
.Add("~/Scripts/jquery-ui-1.8.11.js")
.Add("~/Scripts/jquery.ui.touch-punch.js")
.Add("~/Scripts/jquery.unobtrusive-ajax.js")
.Add("~/Scripts/bootstrap-tab.js")
.Add("~/Scripts/bootstrap-dropdown.js")
.Add("~/Scripts/kendo/kendo.web.js")
.Add("~/Scripts/kendo/kendo.aspnetmvc.js")
.Add("~/Scripts/ui.watermark/ui.watermark.js")
.Add("~/Scripts/date.js")
.Add("~/Scripts/jquery.blockUI.js")
.Add("~/Scripts/jquery.ba-bbq.js")}
看起来 Telerik 正在使用 jQuery 1.7.1,因为那是 Telerik Scripts 文件夹中的内容。Telerik 版本是 2012.1.214,我也在使用 Kendo 测试版,尽管在加入 Kendo 之前我遇到了同样的问题。ScriptRegistrar 当前位于 <HEAD> 标记中,因为 Kendo 需要它,尽管我也尝试将它放在 <BODY> 标记的末尾之前,因为 Telerik Extensions 建议没有效果。我还确认问题存在于 IE、Firefox、Opera、Safari 和 Chrome。
因为我使用 Telerik Script Registrar 来包含所有 Telerik 和 jQuery 相关的脚本,所以我希望这应该“正常工作”。我还能做错什么?
编辑:这是一个例子:
@(Html.Telerik().NumericTextBox().Name("NumericTextBox"))
<script type="text/javascript">
$(function() {
var data = $("#NumericTextBox").data("tTextBox");
alert(data); //displays "undefined"
});
</script>