2016-07-14 9 views
0

Ich habe einen jquery Code erstellt, der den Datepicker zeigt, es funktioniert perfekt, aber ich muss zweimal auf die Textbox klicken, damit der Datepicker erlischt. Ich trid mit $(document).ready(function(), aber ich arbeite nicht. so habe ich diesen CodeIch muss zweimal klicken, um den Datepicker anzeigen zu lassen

$("[id*=txtDatePO]").live("click",function() { 
     $(this).datepicker({ 
      //buttonImage: '../Images/Icons/calendar_1_icon&16.png', 
      //buttonImageOnly: true, 
      //showOn: 'both', 
      dateFormat: 'yy-mm-dd', 
      inline: true, 
      firstDay: 1, 
      showOtherMonths: true, 
      dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] 

     }); 
    }); 

    $("[id*=txtDelDate]").live("click", function() { 
     $(this).datepicker({ 
      dateFormat: 'yy-mm-dd', 
      inline: true, 
      firstDay: 1, 
      showOtherMonths: true, 
      dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] 
     }); 
    }); 

, wie ich es ändern kann, wenn der Benutzer einmal das Textfeld klickt, zeigt der Kalender mit einem Klick. Vielen Dank!

+0

Nun, bewegen Sie es 'document.ready'. Was genau hat mit diesem Ansatz nicht funktioniert? – Andrei

+0

jQuery Live ist veraltet, verwenden Sie stattdessen: http://api.jquery.com/on/ – Esko

+0

Sind die Datumsauswahlelemente dynamisch hinzugefügt? –

Antwort

0

Ich habe noch nie, obwohl Datumsauswahl verwendet Wenn ich richtig das Click-Ereignis zu verstehen scheint in gebaut werden:

Hier ist ein Beispiel i modifizierte gegabelt und sowohl bestehende und ein dynamisches zu testen (erstellt) Element: http://jsfiddle.net/julienetienne/shzwaL7v/1/

var dynamicElement = document.createElement('input'); 
var body = document.getElementsByTagName('result')[0]; 

dynamicElement.id = 'input3'; 
dynamicElement.type ='text'; 
document.body.insertBefore(dynamicElement,$('#input2').get(0)); 

$('#input1').datepicker({ 
    dateFormat: 'dd-mm-yy' 
}); 

$('#input2').datepicker({ 
    dateFormat: 'dd-mm-yy' 
}); 

$(dynamicElement).datepicker({ 
    dateFormat: 'dd-mm-yy' 
}); 



<input id="input1" type="text" /> 
<input id="input2" type="text" /> 

Es sollte kein Grund zu verwenden document.ready() oder .live() sein. Solange der Code nach dem Laden der Seite ausgeführt wird, sollte es funktionieren.

0

Es auf document ready

$(document).ready(function() { 
    $('#txtDatePO').datepicker({ 
      todayHighlight: true, 
      orientation: "bottom left", 
      autoclose: true 
    }); 
}); 

btw sein sollte, diese Probe Bootstrap picker