0

他の誰かがこの問題を抱えていますか?

すべてのドキュメントによると、次のコードを使用して、Telerik 拡張機能または 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 が必要とするためですが、Telerik Extensions が推奨するように <BODY> タグの末尾の前に配置しようとしましたが、効果はありませんでした。また、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>
4

2 に答える 2

1

jQueryJavaScriptが複数回含まれていないことを確認してください。が設定されていない限り、ScriptRegistrar自動的に含まjQuery(false)れます。

于 2012-07-18T10:17:09.823 に答える
0

問題は、値にアクセスしようとしたときにオブジェクトがまだDOMにないことだと思います。ハンドラー (おそらくボタン クリック) で値にアクセスしてみて、それが機能するかどうかを確認してください。それ以外はすべて問題ないようです

于 2012-06-23T17:01:13.913 に答える