2013-07-09 5 views
0

Я использую модель для загрузки на другой странице. На странице должен быть выбор даты, но он не отображается. Если я просто загружаю страницу без использования модели, сборщик даты отлично работает.Добавить .datetimepicker в поле ввода при загрузке

Я понимаю, что поскольку элемент, который я пытаюсь связать, еще не существует, мне нужен дополнительный Jquery для привязки .datetimepicker к элементу после его загрузки.

  $("#EditContentLog1bt").live("click", function() { 
       alert("test1"); 
      $("#datepick").ready(function() { 
       alert("test2"); 
       $("#datepick").datetimepicker({ 
        pickTime: false, 
         format: "dd/MM/yyyy", 
       }); 
      }); 
     }); 

Я пробовал использовать .load, а не .ready, но с .load. Я не добираюсь до второго предупреждения. С .ready я добираюсь до второго предупреждения, но datepicker все еще не работает.

Html:

<div class="control-group"> 
    <label for="followup" class="control-label">Date</label> 
    <div class="controls"> 
     <div id="datepick" class="input-append date"> 
      <input type="text" name="date" value="<?php echo date('d-m-Y', strtotime($contactLog->follow_up_date)); ?>"> 
      <span class="add-on"> 
       <i data-time-icon="icon-time" data-date-icon="icon-calendar"></i> 
      </span> 
     </div> 
    </div> 
</div> 
<div class="control-group"> 
    <label for="followup" class="control-label">Time</label> 
    <div class="controls"> 
     <div id="timepick" class="input-append date"> 
      <input type="text" name="time" value="<?php echo date('H:i', strtotime($contactLog->follow_up_date)); ?>"> 
      <span class="add-on"> 
       <i data-time-icon="icon-time" data-date-icon="icon-calendar"></i> 
      </span> 
     </div> 
    </div> 
</div> 

Это, кажется, не является проблемой г-индекс, как я получил DatePicker работая в другой модели, но только с помощью .click, а не .load/.ready.

Это теперь модель вызывается:

<a data-toggle="modal" data-target="#myModal" id="EditContentLog1bt" href="<?php echo site_url('manager/editContactLog/' . base64_encode($this->encrypt->encode($log->id))); ?>" class="btn btn-primary contactLog">Edit</a> 

А вот HTML для модели:

<div id="myModalform" style="width:700px; margin-left:-380px;" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
<div class="modal-body"> 
    <p>One fine body…</p> 
</div> 
<div class="modal-footer"> 
    <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button> 
</div> 

+0

'.live()' амортизируется в JQuery 1.7 и удален в 1.9 – Praveen

+0

Что бы вы предложили использовать вместо? – flyersun

+0

Используйте '.on' like' $ ("# EditContentLog1bt"). On ("click", function() {'для получения дополнительной информации проверьте этот вопрос [SO question] (http://stackoverflow.com/questions/8042576/whats -the-difference-between-jquery-live-and-on) – Praveen

ответ

1

попробуйте это

$(function() { 

$("#open_popup").click(function(){ 
$("#date").datepicker(); 
    $("#dialog").dialog({ 
     height:300, 
     width:400 , 
     modal: true}); 
}) 

}); 

working example

0

Я решил эту проблему:

$('#myModal').on('shown', function() { 
    $("#datepick").datetimepicker({ 
     pickTime: false, 
     format: 'dd/MM/yyyy', 
    }); 
});