2016-03-11 3 views
1

У меня есть javascript, который создает сборщик datetime в каждой строке таблицы. Функция работает только в первой строке. Я понимаю, что причина этого в том, что датапикер имеет одинаковый идентификатор в каждой строке. Как я могу настроить свой код, чтобы исправить это?Функция Javascript останавливается после первого цикла while в PHP

<script type="text/javascript"> 
$(document).ready(function(){ 
$('#duedate').datetimepicker({ 
controlType: 'select', 
timeFormat: 'hh:mm tt' 
}); 
}); 
</script> 

<?php $txtJob = $_GET['pickjob']; ?> 

<?php 
$query2 = "Select Work_Center, Sequence, Est_Total_Hrs from V_schedule WHERE job = '" . $txtJob . "'"; 
$results2 = sqlsrv_query($connPpp, $query2);?> 

<form id="frmpromiseddate" name="frmpromiseddate" action="schedule_job_submit.php" method="POST"> 
     <table class='table table-bordered table-condensed table-striped'> 
      <tr> 
       <td>Sequence</td> 
       <td>Work Center</td> 
       <td>Due Date</td> 
      </tr> 
<?php while ($row2 = sqlsrv_fetch_array($results2)) {?> 
     <tr> 
      <td><?php echo $row2['Sequence']?></td> 
      <td><?php echo $row2['Work_Center']?></td> 
      <td><input type="text" name="duedate" id="duedate" value="" /> </td> 
     </tr> 
<?php ;} //End of while ?> 
</table> 
+4

Изменение идентификатора ('#') в класс ('.'). –

ответ

2

Jquery лечит id как уникальный идентификатор и нанести на только один элемент, в то время, где, как он обрабатывает class как групповой идентификатор и может применяться к нескольким элемента в то время, таким образом изменить id к class как в html и Jquery код: -

<td><input type="text" name="duedate" class="duedate" value="" /></td> 

и

$('.duedate').datetimepicker({ 
+0

Спасибо. Это было прекрасно – user1548989

1

Используйте класс вместо ID (#) для выбора даты

Javascript код (.):

$('.duedate').datetimepicker() 

HTML код: сделать идентификатор уникальный

<?php $i=0; 
while ($row2 = sqlsrv_fetch_array($results2)) {?> 
    <tr> 
     <td><?php echo $row2['Sequence']?></td> 
     <td><?php echo $row2['Work_Center']?></td> 
     <td><input type="text" name="duedate" class="duedate" id="duedate_<?php echo $i;?>" value="" /> </td> 
    </tr> 
<?php $i++; } //End of while ?> 
+0

это не так, и поддержка ID вокруг может быть полезна - например, если OP решил, что хочет добавить ярлыки к своей разметке – sm1215

+0

@ Обязательно просто иметь четкое понимание. –

Смежные вопросы