2010-11-17 7 views
1

J'avais effectué une application avec DateTime Picker. La date actuelle est affichée dans le contrôle. Mais le calendrier n'est pas working.Whenever je clique sur le rien TextBox arrive ..Problème dans le sélecteur de date/heure MVC2

Voici mon code dans Site.master

<title> 
    <asp:ContentPlaceHolder ID="TitleContent" runat="server" /> 
</title> 
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" /> 
<link href="../../Content/jquery-ui-1.8.1.custom.css" rel="stylesheet" type="text/css" /> 
<script src="../../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> 
<script src="../../Scripts/jquery-ui-1.8.1.custom.min.js" type="text/javascript"></script> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#UseDatePicker").live('click', function() { 
      $(this).datepicker('destroy').datepicker({ 
       showOn: 'focus', 
       changeMonth: true, 
       changeYear: true 
      }).focus(); 
     }); 
    }); 
</script> 

Dans mon index.aspx ...

<p><%:Html.LabelFor(m => m.MyDate)%>:&nbsp;<%:Html.EditorFor(m => m.MyDate) %></p> 

dans mes Model.cs

[DisplayName("Date")] 
    public DateTime MyDate { get; set; } 

dans mon DateTime.ascx

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.DateTime?>" %> 
<%=Html.TextBox("", (Model.HasValue ? Model.Value.ToString("MM/dd/yyyy") : DateTime.Today.ToShortDateString()), new { @class = "UseDatePicker date-text-box" })%> 

Répondre

0

Dans votre javascript dans le Site.master, vous avez ce qui ressemble à un sélecteur incorrect - vous avez #UseDatePicker - qui est un ID sélecteur, mais dans votre modèle d'éditeur, vous affectez la classeUseDatePicker.

Vous souhaitez probablement remplacer le sélecteur du site maître par .UseDatePicker.

Et je ne sais pas pourquoi vous faites tout le détruire chose - je ne sais pas ce que vous essayez d'atteindre là ...

0

En fait, il devrait être:

$(document).ready(function() { 
    $('.UseDatePicker').datepicker({ 
     showOn: 'focus', 
     changeMonth: true, 
     changeYear: true 
    }); 
}); 
+0

Salut Jon et Darin, Merci pour les réponses .. – RobinHood

+0

Je reçois la valeur de alert..But pas le calendrier ........ RobinHood

+0

Aucune idée de ce qui ne va pas avec votre code, mais voici une démo illustrant un exemple de travail: http://jsfiddle.net/mr92f/. Assurez-vous que vous avez correctement inclus tous les scripts et que le nom de la classe css est correct. –

0

Je reçois la valeur de alert..But pas le calendrier.

<script type="text/javascript"> 
    $(document).ready(function() { 
     alert('a'); 
     $('.UseDatePicker').datepicker({ 
      showOn: 'focus', 
      changeMonth: true, 
      changeYear: true 
     }); 
    }); 
</script>