2016-07-22 2 views
0

私が今必要としている助けは、比較的簡単なはずです。 カレンダーの作成時や読み込み時にJavaScriptが起動しないようです。剣道UIカレンダーの背景色をjavascriptを使って変更する

ここは私のJavaScriptです。カレンダーと同じ.cshtmlファイルに配置されています。スクリプトブロックはカレンダーhtmlの下にあります。

jQuery(document).ready(function() { 
    jQuery('#Trafikkalender').onLoad(function() { 
     var calendar = $(this); 
     var currentDate = kendo.toString(calendar.value(), "yyyy-MM-dd"); 
     var param = { date: currentDate } 
     var url = $('#calArrayPostUrl').data('url'); 
     $.post(url, param, function(data) { 
      var body = calendar.find('tbody'); 

      var rows = body.getElementsByTagName('tr'); 

      for (var i = 0; i < rows.length; i++) { 
       var cols = rows[i].getElementsByTagName('td'); 
       for (var j = 0; cols.length; j++) { 
        var col = cols[j]; 
        col.addClass(data[i][j]); 
       } 
      } 
     }); 

    }); 
}); 

、ここでは、カレンダーの

@(Html.Kendo().Calendar() 
       .Name("Trafikkalender") 
       .Culture("sv-SE") 
       .HtmlAttributes(new {style = "width: 100%;"}) 
       .Events(e => e.Change("DateClick").Navigate("Navigate")) 
       .Format("dd MM yyyy") 

       //.MonthTemplate("#<div class=" + TrafficData.GetTrafficDate("#= data.value #").CSSClass + ">#") 
      ) 

私の問題ではJavaScriptが実行されていないということです、それは、少なくともブレークポイントに固執しません。 データパラメータのソースに何か疑問が生じた場合、それはC#でstring [、]として宣言された2次元配列で、コントローラからJson文字列として返されます。

URLは、.nameの(「Trafikkalender」)を持っていて、(jQueryのをやっているので、あなたは、カレンダーのIDを確認したり、jqueryのセレクタを変更する必要があり、そのような

<input type="hidden" id="calArrayPostUrl" data-url="@Url.Action("CalendarCellClasses")"/> 
+0

代わりにページの読み込みを行う方が簡単でしょうか?どのように私はjQuery/javascriptでそれを行うのですか? – inifus

答えて

0

として定義のHiddenFieldから取り出され'#Trafikkalender')、ID #Trafikkalenderの要素を検索して背景色を変更します。 javascriptコードを実行した後、ここでCSSを使用して背景色を変更する必要があります:http://dojo.telerik.com/UDudA

関連する問題