javascript - 为什么 JQuery Datepicker 出现故障?

标签 javascript jquery jquery-ui datepicker

我有一个页面,我使用 for 循环添加文本框。有一个表,其中有 12 行 4 列。在第二列和第四列中,我添加了显示良好的日期选择器。

问题是当我从第二列中的日期选择器中选择日期时,日期会在第二列中设置(正确),但是当我在第四列中选择日期时,日期会在第二列中设置(不正确)。

这是我的代码:

...

<table class="table table-striped">
    <tr>
        <th><center>Column1</center></th>
        <th><center>Column2</center></th>
        <th><center>Column3</center></th>
        <th><center>Column4</center></th>
    </tr>

    <?php

      for($i=0; $i<count($time_period); $i++) {

        $current_table = $table[$i];

        $result = $db->query("SHOW TABLES LIKE '$current_table'");

        if($result->rowCount() > 0) {
          //Table Exists!

        ?>
        <tr>
          <td><center><?php echo $time_period[$i]; ?></center></td>
          <td><input type="text" class="form-control datepicker" id="<?php echo $i; ?>" autocomplete="off" name="date_receipt[]" value=""></td>
          <td><input type="text" class="form-control" id="<?php echo $i; ?>" autocomplete="off" name="cheque_amount[]" value=""></td>
          <td><input type="text" class="form-control datepicker" id="<?php echo $i; ?>" autocomplete="off" name="date_deposit[]" value=""></td>
        </tr>
        <?php
      }
      }

      ?>

</table>

...

添加日期选择器的 JQuery 代码

<script>
  $(function(){
    $.datepicker.setDefaults(
      $.extend($.datepicker.regional[''])
    );
    $('.datepicker').datepicker({ dateFormat: 'dd-mm-yy' });
  });
</script>

我不知道为什么会发生这种情况。有什么想法吗?

最佳答案

我也遇到过类似的问题。尝试为它们提供唯一的 ID,然后使用 ID 在 jQuery 中选择它们。

推理:我的猜测是 .datepicker 返回一个节点数组,因此当它被单击时,它将值放入 class.val 中,这将是数组中的第一个子节点。

更新响应:

它们都有相同的 ID:

id="<?php echo $i; ?>

不工作:http://jsfiddle.net/snlacks/k3hdzLre/3/ 工作中:http://jsfiddle.net/snlacks/k3hdzLre/4/

因为它们都有相同的 ID,浏览器将通过 ID 来查找类(即使您没有传递 ID),因为这样更快。浏览器假定 ID 是唯一的。

关于javascript - 为什么 JQuery Datepicker 出现故障?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27526987/

相关文章:

javascript - 我可以在 Android 上的 Chrome 上获取绝对设备方向吗?

javascript - js : variable gets overwritten on click

javascript - 无法使用 Jquery 和 Jsoup 访问动态生成的元素

jquery - SlickGrid 自定义 CSS 问题

jQuery UI Accordion 创建事件未触发

javascript - 这是常规的构造函数吗?

php - 两个 <ul> 函数一起工作还是合二为一?

javascript - 无法在 Windows 8 平板电脑中上传文件

javascript - jquery:工具提示在空格后不显示数据

javascript - Jquery - 如何设置溢出以滚动具有多个可放置的可拖动对象