当前位置: 动力学知识库 > 问答 > 编程问答 >

php - Using datepicker in a dynamic input

问题描述:

I do have a grid that has a column called Received Date. This column is a dynamic input field that is supposed to activate the datepicker script from jquery when the user clicks on it and so select a desired date.

I do have the this following PHP code that generates the dynamic id:

$sql="SELECT id, firstname, lastname FROM customers ORDER BY firstname";

$sql=$mysqli->query($sql);

while($row=mysqli_fetch_array($sql)){

$id = $row['id'];

$firstname = $row['firstname'];

$lastname = $row['lastname'];

$output .='<tr id='.$id.'>';

$output .='<td>'.$firstname.'</td>';

$output .='<td>'.$lastname.'</td>';

$output .='<td><input type="text" name="received" id="received" value=""/></td>';

$output .='</tr>';

}

echo $output;

Then I have my jquery script that calls datepicker for "received" object:

<script>

$(function() {

$( "#received" ).datepicker();

});

</script>

It works good but just for the input in the first row of the grid. The others do not pop up the datepicker script.

Does anyone know any solution? Thanks in advance.

网友答案:

You have duplicated id in your html. (datepicker only apply to the first input with id received)

Change id="received" to class="received", and then use class selector will fix your problem.

$(function() {
    $(".received" ).datepicker();
});
网友答案:

They all have the same id. Try changing it to:

    $output .='<td><input type="text" name="received" class="received" value=""/></td>';

<script>
   $(function() {
      $( ".received" ).datepicker();
   });
</script>
分享给朋友:
您可能感兴趣的文章:
随机阅读: