2017-02-13 16 views
1

My datepicker в одном файле отлично работает, но в другом файле он вообще не работает. Может кто-нибудь указать, в чем проблема?jQuery UI Datepicker не работает

Вот код рабочего DatePicker:

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('.date').datepicker({ 
     changeYear: true, 
     changeMonth: true, 
     dateFormat: "dd.mm.yy", 
     minDate: new Date(1950, 1 - 1, 1), 
     maxDate: new Date(), 
     yearRange: "1900:2015", 
     closeText: "Zamknij", 
     dayNames: [ "Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi" ], 
     monthNames: [ "Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień" ], 
     monthNamesShort: [ "Sty", "Lut", "Mar", "Kwie", "Maj", "Cze", "Lip", "Sie", "Wrz", "Paź", "Lis", "Gru" ] 
    }); 
}); 

И я использую его здесь:

 <div class="form-group "> 
     <label class="col-sm-2" for="Client_birth_date"> 
      <?php echo $registerForm->labelEx($registerModel, 'birth_date'); ?> 
     </label> 
     <div class="col-sm-10"> 
      <?php echo $registerForm->textField($registerModel, 'birth_date', array('class' => 'input_form input_grup date form-control')); ?> 
      <?php echo $registerForm->error($registerModel, 'birth_date'); ?> 
     </div> 
    </div> 

И это прекрасно работает.

Но в другом файле у меня такой же код, но он вообще не работает.

Сценарии:

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('#display-files').click(function(){ 
     $('#files-modal').modal({show:true}); 
    }); 
}); 

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('.date').datepicker({ 
     changeYear: true, 
     changeMonth: true, 
     dateFormat: "dd.mm.yy", 
     minDate: new Date(1950, 1 - 1, 1), 
     maxDate: new Date(), 
     yearRange: "1900:2015", 
     closeText: "Zamknij", 
     dayNames: [ "Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi" ], 
     monthNames: [ "Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień" ], 
     monthNamesShort: [ "Sty", "Lut", "Mar", "Kwie", "Maj", "Cze", "Lip", "Sie", "Wrz", "Paź", "Lis", "Gru" ] 
    }); 
}); 

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('#display-tags').click(function(){ 
     $('#tags-modal').modal({show:true}); 
    }); 
}); 

И место, где я использую его:

<?= $aditionalCostForm->labelEx($aditionalCostModel, 'date'); ?> 
<?= $aditionalCostForm->textField($aditionalCostModel, 'date', array(
    'class' => 'form-control btn-rect', 
)); ?> 

Любые решения? Я был бы благодарен.

+2

Проверьте наличие ошибок в консоли. Вы правильно используете jQuery и библиотеку datepicker? –

+1

_ «Не работает» _ не говорит нам многого. Любые ошибки в консоли? –

+0

Если вам нужна функция datepicker для работы с содержимым модального кода, я предлагаю вам убедиться, что код запускается после отображения модальности (в зависимости от структуры это либо через параметр события, либо параметр обратного вызова). Поле даты может не отображаться на странице в готовом документе. – apokryfos

ответ

1

В первом примере ваш «birth_date» текстовое поле имеет класс «дата»:

<?php echo $registerForm->textField($registerModel, 'birth_date', array(
    'class' => 'input_form input_grup date form-control' 
)); ?> 

Во втором примере нет никакого класса «дата» в определении поля:

<?= $aditionalCostForm->textField($aditionalCostModel, 'date', array(
    'class' => 'form-control btn-rect', 
)); ?> 

Поэтому jquery не может найти необходимый элемент dom.