我现在需要的帮助应该相对简单。
,当创建/加载日历时,我似乎无法启动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 [,]的二维数组,它从控制器返回为Json字符串。
url是从定义为
的隐藏字段中获取的<input type="hidden" id="calArrayPostUrl" data-url="@Url.Action("CalendarCellClasses")"/>
答案 0 :(得分:0)
您应该检查日历的ID或更改jquery选择器,因为您有.Name(&#34; Trafikkalender&#34;)并且您正在执行jQuery(&#39;#Trafikkalender&#39;)搜索id为#Trafikkalender的元素,用于更改背景颜色。运行javascript代码后,您应该使用CSS更改背景颜色,例如:http://dojo.telerik.com/UDudA