2016-06-20 14 views
0

Ich bin am Hinzufügen eines Datumsauswahl zu Datum Felder in meinem aspx-Seite. Was ich hier erreichen möchte, ist es, einen Datepicker an die ID der Eingabe anzuhängen. Diese Felder werden dynamisch erstellt. Ich habe Probleme mit der Datumsauswahl, da es sichtbar ist, wenn ich zum ersten Mal auf die Eingabe klicke, aber erst wieder angezeigt werde, wenn die Seite aktualisiert wurde. Ich würde jede Hilfe schätzen. Hier ist was ich versucht habe.datepicker nur einmal in asp.net mit jquery

Mein Eingabefeld:

<input name="ctl00$MainContent$SubsModifier$tbDate" type="text" value="06/21/2016" onchange="javascript:setTimeout('__doPostBack(\'ctl00$MainContent$SubsModifier$tbDate\',\'\')', 0)" onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false;" id="ctl00_MainContent_SubsModifier_tbDate" class="form-control"> 

jQuery:

$(function() { 
    $("[id*=tbDate]").datepicker({ 
     buttonImageOnly: true, 
     buttonImage: 'http://jqueryui.com/resources/demos/datepicker/images/calendar.gif' 
    }); 
}); 

ich bemerkt habe, dass „hasDatePicker“ in der Klasse das erste Mal sichtbar ist und entfernt wird, wenn ich ein Datum aus dem Datepicker wählen .

+0

Erhalten Sie Javascriptfehler? –

+0

Keine Fehler. Es funktioniert das erste Mal, also gibt es keine Fehler. – NepCoder

+0

Öffnen Sie die Konsole und aktualisieren Sie die Seite, um festzustellen, ob JavaScript-Fehler vorliegen. Es kann zum ersten Mal ausgeführt werden, aber wenn Sie es erneut ausführen, kann es einige Fehler finden, die Javascript von der Arbeit –

Antwort

0

Danke an @Felipe Deguchi und @arturas für ihre Hilfe. Ich habe Arturas Antwort in das Folgende geändert und es funktioniert wie erwartet. Hier ist was ich getan habe.

$('body').on('focus', ".date-picker", function() { 
    $(".date-picker").datepicker(); 
}); 
0

Ich sehe Sie haben class = "form-control" als Eingabe-Attribut. Fügen Sie zusätzliche Pseudo-Klasse class = "form-control date-picker" und versuchen dann:

$(".date-picker").datepicker(); 
+0

Gleiche Probleme. Funktioniert nicht. – NepCoder

0

Sie können versuchen, die Methode in einer Funktion

function RunMeAfterControlsAreGenerated() { 
    $("[id$=tbDate]").datepicker({ 
     buttonImageOnly: true, 
     buttonImage: 'http://jqueryui.com/resources/demos/datepicker/images/calendar.gif' 
    }); 
} 

Dann rufen sie zu wickeln, nachdem Sie dynamisch Steuerelemente auf Code generieren Hinter

ScriptManager.RegisterStartupScript(this, this.GetType(), "RunMe", "RunMeAfterControlsAreGenerated();",true);