2013-12-20 43 views
0

Hej書呆子:)Kendo UI Scheduler加載完成後加載JQuery?

我有一個元素的頁面 - 一個Dropdownlist和一個kendoUI調度。 類似:

<div class="SchedulerHeader"> 
    <p> <label>Current View: </label> 
     <select id"views"> 
     <option value="agenda">Agenda</option> 
     <option value="day">Day</option> 
     <option value="month">Month</option> 
     <option value="week">Week</option> 
     <option value="workWeek">Work Week</option> 
    </select> 
    </p> 
</div> 
@(Html.Kendo().Scheduler<myNameSpace.viewModel>().Name("myScheduler") #more options# 

<script> 
$(function() { 

    var scheduler = $("#myScheduler").data("kendoScheduler"); 
    $("#views").kendoDropDownList({ 
     value: scheduler.view(), 
     change: function() { 
      scheduler.view(this.value()); 
     } 
    }); 
}); 
</script> 

我的問題是,JS是負載調度器加載完成之前 - 這意味着我的下拉列表初始化值dosnt匹配調度的觀點的價值。 我可以通過更改下拉列表中的值來更改調度程序視圖,以便綁定無誤。 當我在頁面加載調試時,我看到「value:scheduler.view()」是'null'。

所以我的問題是:我如何確保js在調度器之後加載,而不使用定時器並且沒有在js中編寫調度器?

風流Christimas :)

回答

0

Thx爲答案。

我對我的問題的解決方案 - 是訂閱kendo UI調度程序的databound事件。 。 看起來像這一點,並設置下拉列表爲「scheduler.view的值()命名

<div class="SchedulerHeader"> 
<p> <label>Current View: </label> 
    <select id"views"> 
    <option value="agenda">Agenda</option> 
    <option value="day">Day</option> 
    <option value="month">Month</option> 
    <option value="week">Week</option> 
    <option value="workWeek">Work Week</option> 
</select> 
</p> 
</div> 
@(Html.Kendo().Scheduler<myNameSpace.viewModel>().Name("myScheduler") #more options# 
.Events(events => events.Databound("onLoad")) 

<script> 
function onLoad(e){ 

var scheduler = $("#myScheduler").data("kendoScheduler"); 
$("#views").kendoDropDownList({ 
    value: scheduler.view()**.name**, 
    change: function() { 
     scheduler.view(this.value()); 
    } 
}); 
}) 
</script> 

感謝您的答案 - 聖誕快樂

1

使用回調:

編號:http://www.w3schools.com/jquery/jquery_callback.asp

var scheduler = $("#myScheduler").data("kendoScheduler", function() { 
    $("#views").kendoDropDownList({ 
     value: scheduler.view(), 
     change: function() { 
      scheduler.view(this.value()); 
     } 
    }); 
}); 
+0

不可能得到它的工作 - 如果我建立它像這一事件從未被解僱。但是,你的文章確實讓我走上了正確的道路 - 謝謝。 – Mir

0

我覺得RequireJS可能是你(http://requirejs.org/)是有用的。

它允許你以特定的順序定義你的JS文件/插件等等。 我讓你看看它,希望它有幫助。