1

複数のエントリに対して同じ入力フィールドのセットを 5 回ロードする PHP For があります。

同時に、日付フィールドで実行する「日付ピッカー」JavaScript があります。

問題は、最初の行でのみ日付ピッカーが機能していることです。ロードされる次の 4 行では、datepicker は日付フィールドで実行されません。

コード:

    <?php 
    for ($i=0;$i<5;$i++)
    {
    ?>
    <tr>
        <td><input id="includeItem" type="checkbox" onchange="includeMore" name="item<?=$i?>"></td>
        <td><input name="id<?=$i?> style="color:#888;" disabled="disabled"></td>
        <td><input class="formItems" id="datepicker" name="date<?=$i?>"></td>
        <td><input class="formItems" name="description<?=$i?>"></td>
        <td><input class="formItems" name="amount<?=$i?>"></td>
    </tr>
    <?php } ?>

Javascript:

<script>
  $(document).ready(function() {
    $("#datepicker").datepicker({
    dateFormat: 'yy-mm-dd'
    });
  });
</script>
4

3 に答える 3

3

ID はページ上で一意である必要があります。つまり、jQuery で ID を選択しようとすると、最初に見つかった ID で停止します。

これを回避するには、クラスを使用する必要があります。

コード:

    <?php 
    for ($i=0;$i<5;$i++)
    {
    ?>
    <tr>
        <td><input id="includeItem" type="checkbox" onchange="includeMore" name="item<?=$i?>"></td>
        <td><input name="id<?=$i?> style="color:#888;" disabled="disabled"></td>
        <td><input class="formItems" class="datepicker" name="date<?=$i?>"></td>
        <td><input class="formItems" name="description<?=$i?>"></td>
        <td><input class="formItems" name="amount<?=$i?>"></td>
    </tr>
    <?php } ?>

Javascript:

<script>
  $(document).ready(function() {
    $(".datepicker").datepicker({
    dateFormat: 'yy-mm-dd'
    });
  });
</script>
于 2013-10-24T15:59:06.787 に答える
1

同じ ID は使用できません。一意である必要があります - id="datepicker"

于 2013-10-24T15:58:33.690 に答える
1

ID ではなくクラスを使用します。

各入力に「datepicker」のクラスを与え、jQuery セレクターを$(".datepicker")

于 2013-10-24T15:59:00.070 に答える