在动态输入中使用datepicker

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>