1

jquery を使用して Telerk ドロップダウン リストを設定しようとしています。これを行うように提案された方法は次のとおりです。

var dropDownList = $('#DropDownList').data('tDropDownList');

var dataSource = 
[
    { Text: "Product 1", Value: "1" },
    { Text: "Product 2", Value: "2" },
    { Text: "Product 3", Value: "3" }
];

dropDownList.dataBind(dataSource);

これを機能させるには、次の JavaScript ファイルが必要です。

  1. jquery-1.7.1.min.js
  2. telerik.common.min.js
  3. telerik.list.min.js

そして、それらを Site.Master に他の CSS および JS ファイルとともに登録しました。

<head runat="server">
    <title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
    <link href="/Content/Site.css" rel="stylesheet" type="text/css" />
    <link href="/Content/telerik.common.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="/Scripts/jquery-1.7.1.min.js"></script>
    <script type="text/javascript" src="/Scripts/Students.js"></script>        
    <script type="text/javascript" src="/Scripts/telerik.common.min.js"></script>
    <script type="text/javascript" src="/Scripts/telerik.list.min.js"></script>
    <script type="text/javascript" src="/Scripts/telerik.combobox.min.js"></script>
</head>

そして、最後に Site.Master で ScriptRegistrar を使用します。

<%= Html.Telerik().ScriptRegistrar() %>

しかし、アプリを実行すると、次の「未定義」エラーが発生します。

 'undefined' is null or not an object

オンライン:

dropDownList.dataBind(dataSource);

ここに私のDDLがあります:

<%= Html.Telerik().DropDownList()
.Name("DropDownList")
.HtmlAttributes(new {@id = "DropDownList"})
.Items(items => {
    items.Add().Text("Select").Value("Select");
        })                     
        %> 

ここでいくつかのステップがありませんか?DDL があるページにも Java スクリプト ファイルを登録する必要がありますか? 「site.master」は、すでにJSファイルを登録した「MasterPageFile」です。

どんな助けでも大歓迎です。

4

3 に答える 3

0

jquery の他のバージョンを削除して、jquery-1.7.1.min.js のみを残して最初に登録してください。お役に立てれば!

于 2012-08-23T17:30:57.653 に答える
0

Telerik DropDown コンポーネントがロード (初期化) された後、バインディング コードを実行する必要があります。OnLoad イベント ハンドラーを宣言する 1 つの方法:

.ClientEvents(events => events.OnLoad("List_OnLoad"))

function List_OnLoad(){
  var dropDownList = $(this).data('tDropDownList');
  // the same as 
  //var dropDownList = $('#DropDownList').data('tDropDownList');
  dropDownList.dataBind(dataSource);
}
于 2012-08-23T19:17:29.430 に答える
0

ページに別の ScriptRegistrar を配置し、コードを OnDocumentReady メソッド内に配置します。これにより、関数が site.master ScriptRegistrar 内の ScriptRegistrar に登録され、この時点でコントロールが初期化されるため、すべてが正しく機能するはずです。お役に立てれば。

于 2012-09-07T21:43:48.640 に答える