bootstrap modal не показывает данные

Я просто застрял в немного неловкой ситуации.Я использую bootstrap modal для отображения формы на моей странице.ранее старые данные сохранялись каждый раз, когда я открывал модал. поэтому я добавил эту строку в свой код

 $(".modal").on("hidden.bs.modal", function(){
    $(".modal-body").html("");
}); 

Теперь в первый раз он показывает правильные данные, но во второй раз он ничего не показывает в моей модели. ниже приведен мой код модели

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" id="closeTab" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title" id="myModalLabel">add holiday</h4>
            </div>

            <div class="modal-body">
            <form action="" id="holidayForm">
             <h3> <label id="addHoliday"><span class="label label-info">date</span></label>  </h3>

            <h3> <label id="holidayDetail"><span class="label label-info">description</span></label> </h3>
              <input class="form-control input-lg" id="inputlg" placeholder="description" type="text">
              </form>
            </div>
            <div class="modal-footer">
                <button type="button" id="close" class="btn btn-default" data-dismiss="modal">Close</button>
                <button type="submit" id="saveChanges" class="btn btn-primary">Save changes</button>
            </div>

        </div>
    </div>
</div>

это code pop up bootstrap

$('.clickMe').click(function(){
    var clickId=$(this).attr('id');
    var myDate=clickId.toString().substr(0,2);
    var myMonth=clickId.toString().substr(2,4);
    $("#addHoliday").append("<h3><input type='text' name='newDate' disabled='disabled' id='newDate'value="+this_year+"-"+myMonth+"-"+myDate+"></input></h3>");
    $("#myModal").modal('show');


})

пожалуйста, дайте мне знать, что не так

1 ответ

  1. Одно быстрое решение…

    Чтобы очистить поля формы, можно сделать что-то вроде этого

    $(".modal").on("hidden.bs.modal", function(){
        $(".modal-body #holidayForm input").val("");
    }); 
    

    Вы добавляете новое поле ввода каждый раз .clickMe запуск события click. Я бы поставил этот html-код с полями ввода в.modal-тело, где вы хотите его, а затем заменить приложение к #addHoliday линии к чему-то вроде этого..

    $(".modal-body #holidayForm #newDate").val(this_year + "-" + myMonth + "-" + myDate);
    $(".modal-body #holidayForm #inputlg").val("");
    

    ОБНОВЛЕНИЕ

    В ответ на ваш комментарий измените html #addHoliday в модальном теле на этот.

             <h3> 
                 <label id="addHoliday">
                 <span class="label label-info">date</span>
                 <h3><input type="text" name="newDate" id="newDate" value=""/></h3>
                 </label>
             </h3>
    

    Таким образом, у вас есть одно поле ввода newDate, и событие click обновляет это поле в .модальное тело

    Есть смысл?