2013-02-22 4 views
6

herkesin bir takvim tarihinin listesini bir takvimden nasıl geçebileceğime dair herhangi bir fikre sahip değildir, bu nedenle listede yer alan tarihleri ​​vurgulayacaktır. Geride kodunda saklanan tarihlerinJQuery takvimine bir tarih listesi geçirmek

<script> 
     $(function() { 
     $("#datepicker").datepicker(); 
     }); 
    </script> 

    <p>Date: <input type="text" id="datepicker" /></p> 

liste teşekkür:

DateTime start = new DateTime(2013, 02, 20); 
     DateTime end = new DateTime(2013, 01, 11); 

     var dates = new List<DateTime>(); 

     for (var dt = start; dt <= end; dt = dt.AddDays(1)) 
     { 
      dates.Add(dt); 
     } 
+0

Kullanabilmek için bir başvuru olarak System.Web.Extensions.dll dosyasını eklemeniz gerekir. Değişken adı olarak ayrılmış bir anahtar sözcük kullandığınız gibi görünür. Umarım Tarihlerin listesini almak için bir ajax sorgusu kullanırsınız. Ayrıca, bu yardımcı olabilir. http://stackoverflow.com/questions/2385332/jquery-datepicker-highlight-dates – Musk

+0

Lütfen şu sayfaya bakın: [Jquery Datepicker, vurgulamak için bir tarih ayarla] (http://stackoverflow.com/questions/7523653/jquery-datepicker-set-some-date-to-highlight) Veya [jquery datepicker vurgulama tarihleri] (http://stackoverflow.com/questions/2385332/jquery-datepicker-highlight-dates) – Charlie

cevap

1

sizin için basit çözüm asp.net işleyicisi veya bir web sayfası oluşturmak için olacağını tarihleri ​​json nesneleri olarak döndürür ve datepicker içindeki bir beforeShowDate işlevinde kullanır:

Burada basit bir uygulamasıdır: arkasında

var dates = []; //replace [] with ajax call to the page that returns the dates 
$("#datepicker").datepicker({ 
     dateFormat: "dd-mm-yyyy", 

     beforeShowDay: function (date) { 
      var available = $.inArray(date, dates) > -1; 

      if (available) { 
       return [1]; //return available date 
      } 
      else { 
       return [0]; //return not available 
      } 
     } 
}); 

Kod böyle bir şey olmazdı. JavaScriptSerializer

protected void Page_Load(object sender, EventArgs e) 
    { 
     DateTime start = new DateTime(2013, 02, 20); 
     DateTime end = new DateTime(2014, 01, 11); 

     var dates = new List<string>(); 

     for (var dt = start; dt <= end; dt = dt.AddDays(1)) 
     { 
      dates.Add(dt.ToString("dd-MM-yyyy")); 
     } 

     Response.ContentType = "text/javascript"; 
     string json = new JavaScriptSerializer().Serialize(dates); 
     Response.Write(json); 
     Response.End(); 
    }` 
+0

Hey DZL, cevap için zaman ayırdığınız için teşekkür ederiz, kod bir göz vardı ve iyi görünüyor ... ama ben bir bu kadar bir öğretici ile bir asp.net takvimi kullanarak sona erdi bu için kısa oldu (o zamanlar hakkında bilmediğim) seçilen tarihleri ​​vurgulamanıza olanak tanır ... http: //www.codeproject.com/Articles/7929/Highlighting-Important-Dates-in-Calendar Cevabınız için tekrar teşekkürler. – John

+0

Sorun değil, yardımcı olabileceğime sevindim .. –