2017-08-11 1 views
0

Lorsqu'un bouton est cliqué, les valeurs de certains champs de texte d'un modèle sont chargées, puis le modal est affiché. Selon le bouton sur lequel vous cliquez, différentes dates sont chargées dans les champs de texte.Bootstrap-datepicker utilise la valeur précédente dans la fenêtre contextuelle

<button type="button" class="btn btn-warning btn-xs" id="editTeamButton" startdate="01-02-2017" enddate="31-12-2017" teamid="1" xrefid="19">Edit</button> 

$(document).on("click", "#editTeamButton", function(event){ 
    $('#xrefid').val($(this).attr("xrefid")); 
    $('#editteamid').val($(this).attr("teamid")); 
    $('#editteamstartdate').val($(this).attr("startdate")); 
    $('#editteamenddate').val($(this).attr("enddate")); 
    $('#editTeamModal').modal('show'); 

    $('.datepickereditteam').datepicker({ 
     format: "dd-mm-yyyy", 
     maxViewMode: 3, 
     language: "nl", 
     daysOfWeekHighlighted: "1,2,3,4,5", 
     calendarWeeks: true 
    }); 

}); 

En outre, le plug-in datepicker est chargé pour la sélection d'une plage de dates. Cela fonctionne bien la première fois, mais la deuxième fois #editTeamButton est cliqué différentes valeurs sont chargées dans les champs editteamstartdate et editteamenddate. Puis, lorsque vous cliquez sur un champ de date, le programme datepicker utilise la date qui y était précédemment, et non la date entrée réelle (mise en place par jQuery val()).

Comment résoudre ce problème et faire datepicker toujours utiliser la date que dans le champ de texte au moment de cliquer dessus? J'ai essayé de détruire le datpicker avant de le charger, mais cela ne fonctionne pas. Même problème.

Répondre

0

fixe en utilisant

$("#editteamstartdate").datepicker("update", $(this).attr("startdate")); 
$("#editteamenddate").datepicker("update", $(this).attr("enddate")); 

au lieu de

$('#editteamstartdate').val($(this).attr("startdate")); 
$('#editteamenddate').val($(this).attr("enddate"));