2012-06-22 55 views
0

有沒有其他人有這個問題?Telerik擴展和Kendo MVC javascript無法正常工作

根據你應該使用下面的代碼

var data = $('#id').data('tControlType') 

但是能夠訪問數據對於任何Telerik的擴展或劍道控制的文檔,我從來沒有真正得到這個代碼工作。無論我做什麼,「數據」函數總是返回undefined。該控件實際上可以正常工作,並且我可以通過其他幾種方式獲取控件數據,例如通過任何事件處理程序的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的腳本文件夾中。 Telerik版本是2012.1.214,我也在使用Kendo beta版本,不過我在包含Kendo之前遇到了同樣的問題。 ScriptRegistrar目前位於<HEAD>標籤中,因爲Kendo在那裏需要它,儘管我也嘗試在<BODY>標籤的末尾放置標籤,因爲Telerik Extensions建議不起作用。我也證實了這個問題存在於IE,Firefox,Opera,Safari和Chrome中。

因爲我正在使用Telerik Script Registrar來包含所有的與jQuery相關的Telerik &腳本,所以我期望這應該「正常工作」。我還能做什麼錯?

編輯:這裏有一個例子:

@(Html.Telerik().NumericTextBox().Name("NumericTextBox")) 

<script type="text/javascript"> 
$(function() {   
    var data = $("#NumericTextBox").data("tTextBox"); 
    alert(data); //displays "undefined" 
}); 
</script> 
+0

幾分鐘前我有類似的問題,我使用了錯誤的控件類型。你可以發佈實際的通話不起作用嗎? – pollirrata

+0

感謝您的回覆。我在帖子 –

回答

0

我認爲這個問題是該對象是尚未在DOM當您嘗試訪問該值。嘗試訪問處理程序的值(可能是一個按鈕點擊),看看它是否工作。除此之外,一切似乎都ok

+0

上添加了一個示例,但事件不會觸發! –

1

確保jQuery JavaScript不包含多次。除非設置了jQuery(false),否則ScriptRegistrar將自動包含一個。