javascript - 在输入日期字段的多次迭代中加载日期选择器

标签 javascript php forms input datepicker

我有一个 PHP For,它为多个条目加载同一组输入字段的 5 倍。

同时,我有一个“datepicker”javascript 要在date 字段中运行。

问题是日期选择器仅在第一行有效。对于接下来加载的 4 行,日期选择器不会在日期字段中运行。

代码:

    <?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>

最佳答案

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>

关于javascript - 在输入日期字段的多次迭代中加载日期选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19570816/

相关文章:

javascript - 从 api 调用 json 数据

PHP - 未找到命名空间,使用 Composer 自动加载项目

javascript - 表单 php、html、js

php - 如何停止 jQuery post 页面刷新

javascript - IndexedDb 事务在边缘情况下的自动提交行为

javascript - 如何划分两个 native JavaScript BigInt 并获得小数结果

javascript - 使用AJAX请求json类型的列表数据,从chart.js动态输出到气泡图中

javascript - 如何在单击新页面上的按钮时显示数据库中的信息?

php - 可以接受从现有对象实例化吗?

css - Rails 用户站点自定义选项表单更改 CSS?