2014-02-13 40 views
0

我需要禁用Telerik MVC禁用DatePicker。問題是telerik mvc datepicker在dom中使用jquery html()函數添加。Telerik MVC使用javascript禁用DatePicker

它加載後,我必須禁用它。我使用「$(」#AccountInformalHearingDate「)。data(」tDatePicker「)。disable()方法。

我是$(「#AccountInformalHearingDate」).data(「tDatePicker」)是未定義的錯誤。

<pre> 
      var userId = getUserId(); 
      $.ajax({ 
      type: "POST", 
      url: $Url.resolve("~/ClientSetup/ClientAccounts/UpdateAccountDetails"), 
      data: { AccountId: accountId}, 
      success: function (data) { 
       $('#AccountDetailsContainer').html(@(Html.Telerik().DatePicker() 
        .Name("AccountInformalHearingDate") 
        .Value(new DateTime(2010, 1, 1)) 

       if(userId == 10){  
        $("#AccountInformalHearingDate").data("tDatePicker").disable(); 
       } 

      )); 
      }, 
      error: function (xhr, ajaxOptions, thrownError) { 
       alert(xhr.responseText); 
      } 
     }); 
    </pre> 

但我得到控制未定義的錯誤。既然不能禁止Telerik控制無數據的所有行爲()函數

+0

請添加一些相關的代碼到你的答案。 –

+0

Telerik的-MVC-日期選擇器 - 禁用 - 所有面向未來的成功日期 - http://stackoverflow.com/questions/16216788/telerik-mvc-datepicker-disable-all-future-dates – Elyor

+0

我需要禁用加載本身。不在更改 – Harishankaran

回答

1

我已經找到了上述問題的解決方案研究Telerik的MVC文檔

原因上述問題後, Ajax返回的html內容沒有獲得已註冊java腳本的引用。因此,對Ajax調用,我們需要手動註冊需要Telerik的腳本訪問Telerik的MVC控件中包含」

var telerikScriptArray = new Array(); 
telerikScriptArray[0] = "/Content/Scripts/Telerik/jquery-1.7.1.min.js"; 
telerikScriptArray[1] = "/Content/Scripts/Telerik/telerik.common.min.js"; 
telerikScriptArray[2] = "/Content/Scripts/Telerik/telerik.calendar.min.js"; 
telerikScriptArray[3] = "/Content/Scripts/Telerik/telerik.datepicker.min.js"; 
telerikScriptArray[4] = "/Content/Scripts/Telerik/telerik.timepicker.min.js"; 
telerikScriptArray[5] = "/Content/Scripts/Telerik/telerik.combobox.min.js"; 

$.ajax({ 
    type: "POST", 
    url: $Url.resolve("~/Ares/Controller/Action"), 
    data: { AccountId: accountId}, 
    sucess:function(data){ 
     $.telerik.load(telerikScriptArray, function() { 
      $("#controlID").data("tDatePicker").disable(); // Here you can access ajax returned telerik controls.    
     }); 
    }, 
    error:function(){ 
    } 
});