2010-09-05 6 views
0

codage avec ASP.NET 3.5 C#, jquery.1.4.2, jquery-ui-1.8.2JQuery UI Datepicker ne fonctionne pas à l'intérieur asp: MutiView

Mon textbox quatrième asp: Vue sur un aspic: MultiView qui n'est pas actif sur PageLoad.
Ma page est également une page de contenu avec une page maître. La zone de texte est créé comme

<asp:TextBox ID="txtStartDate" runat="server" 
     CssClass="datePicker" 
     MaxLength="20" 
     ReadOnly="true" 
     Width="70px" /> 

Le datepicker est appelé comme

$(document).ready(function() { 
    $('.datePicker').live('click', function() { 
     $(this).datepicker({ 
      showOn: 'focus', 
      changeMonth: true, 
      dateFormat: 'dd/mm/yy', 
      minDate: '+0d', 
      maxDate: '+1y' 
      }); 
    }); 
}); 

Je ne suis pas en mesure d'obtenir le datepicker le premier clic de la zone de texte.
Quel est le problème avec ce code?

Répondre

2

Il n'est pas montrant la première fois parce que l'événement focus a déjà tiré, vous devez déclencher à nouveau si les focus incendies et les spectacles datepicker, comme ceci:

$(document).ready(function() { 
    $('.datePicker').live('click', function() { 
     $(this).datepicker({ 
      showOn: 'focus', 
      changeMonth: true, 
      dateFormat: 'dd/mm/yy', 
      minDate: '+0d', 
      maxDate: '+1y' 
     }).focus();   //add this 
    }); 
}); 

You can give it a try here. L'appel .focus() déclenchera l'événement une fois de plus, entraînant le gestionnaire datepicker sur l'événement à se déclencher, et il affichera, même le premier clic.