2016-05-25 2 views
2

Когда я пытаюсь найти «datepicker» в транспортирере, я обнаружил каждый раз, когда новая дата создала экземпляр/объект «datepicker» с тем же классом = .datepicker 'с увеличенным значением z-index, но я хочу обрабатывать один объект или, по крайней мере, старый объект/экземпляр должен быть уничтожен, чтобы найти новый объект.Как найти экземпляр «datepicker» в транспортире, когда он является динамическим

В следующем коде/фрагменте изображено приведенное выше объяснение.

<!-- HTML CODE --> 
<div class="form-group"> 
<label>Start Date</label> 
    <div class="input-group date form_datetime" 
    data-date- format="yyyy-mm-dd hh:ii" 
    data-link-field="dtp_input1"> 
     <input class="form-control" size="16" ng-class="submitted:myScheduleForm.submitted}" ng-model="pollConfigInfo.startTime" readonly="" type="text" required=""/> 
     <span class="input-group-addon"> 
      <i class="fa fa-times" style="cursor: pointer"></i> 
      </span> 
      <span class="input-group-addon"> 
      <i class="fa fa-calendar" style="cursor: pointer"></i> 
      </span> 
     </div> 
    <input id="dtp_input1" value="" type="hidden"/> 
    </div> 

JAVASCRIPT КОД:

<script> 
    $('.form_datetime').datetimepicker({ 
      //language: 'fr', 
      weekStart: 1, 
      todayBtn: 1, 
      autoclose: 1, 
      todayHighlight: 1, 
      startView: 2, 
      forceParse: 0, 
      showMeridian: 1 
     }); 
</script> 

транспортир Отрывок выбрать DatePicker

selectStartTimeAndDate: 
    { 
    value : function() 
    { 

     var picker = element(by.css('.fa-calendar')); 
     picker.click(); 
     browser.driver.sleep(2000); 

     var day = element(by.cssContainingText('div.datetimepicker-days > table.table-condensed > tbody > tr > td.day','1')); 
      day.click(); 

    var hour = element(by.cssContainingText('span.hour_am','12')); 
    hour.click(); 

    var min = element(by.cssContainingText('span.minute','12:00')); 
    min.click(); 
} 
}, 

Я не смог найти класс 'сборщика' в связи с этим: enter image description here

+0

могут быть ответы здесь могут помочь вам: http://stackoverflow.com/questions/35860488/how-to-test- a-angular-js-date-picker-from-protractor – Emna

+0

, но мое поле ввода ограничено свойством readonly, поэтому я не могу сделать редактируемый ...... :( – balu

+0

ОК извините за то, что я не использовал дату datepicker в транспортир до – Emna

ответ

-1

Сначала вам нужно скопировать библиотеку «jquery-ui.css», «jquery-1.10.2.js» и «jquery-ui.js» и загрузите библиотеки в свой каталог. Тогда вы пишете этот код на HTML голове:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<link rel="stylesheet" href="../learning/jquery-ui.css"> 
<script src="../learning/jquery-1.10.2.js"></script> 
<script src="../learning/jquery-ui.js"></script> 
<script type = "text/javascript"> 
$(document).ready(function() { 
$(".datepick").each(function(){ 
$(this).datepicker(); 
}); 
}); 
</script> 

Тогда вы пишете это, где вы хотите вставить DatePicker:

<input type="text" name="s1" class="datepick" id="date_1" size="12" value="<?php echo $s1 ?>" required/> 

Надеется, что это работает для Вас!

0

я получил ответ, сделав некоторые изменения в транспортира фрагмент кода, как это:

var picker = element(by.css('.fa-calendar')); 
picker.click(); 
browser.driver.sleep(2000); 

var day = element.all(by.cssContainingText('div.datetimepicker-days > table.table-condensed > tbody > tr > td.day','1')).last(); 
day.click(); 

var hour = element.all(by.cssContainingText('span.hour_am','12')).last(); 
hour.click(); 

var min = element.all(by.cssContainingText('span.minute','12:00')).last(); 
min.click(); 
Смежные вопросы