【问题标题】:How do I use datetimepicker() for different element with same Id如何将 datetimepicker() 用于具有相同 ID 的不同元素
【发布时间】:2017-10-24 12:25:02
【问题描述】:

在我的代码中,某个 div 元素将使用 jQuery 动态生成。所以我使用 .html() 复制了那个 div 元素并附加了它。现在,在那个 div 中,我有一个 date 字段,我必须在其中使用 datetimepicker()。现在我发现 datetimepicker 不适用于具有相同 ID 的不同元素。

这是一个演示 sn-p。

<!--testing-->
        <div id='testdate'>
            <div class='input-group date' id='recoverydate2'>
                <input type='text' class="form-control" placeholder="Select year" id="rcv_date" name="year" value="<?php echo $gde_date;?>" />
                <span class="input-group-addon">
                   <span class="glyphicon glyphicon-calendar"></span>
                </span>
            </div>
            <!-- <div class='input-group date' id='recoverydate2'>
                <input type='text' class="form-control" placeholder="Select year" id="rcv_date" name="year" value="<?php echo $gde_date;?>" />
                <span class="input-group-addon">
                   <span class="glyphicon glyphicon-calendar"></span>
                </span>
            </div> -->
        </div>
 <!--testing-->

第二个带注释的 div 元素将动态生成。所以我必须让 datetimepicker() 为他们俩工作。

这里是 JS

$(#recoverydate2').datetimepicker({
    format: 'DD-MM-YYYY'
});

虽然我已经尝试过让它们都工作,但没有工作。

$('#testdate #recoverydate2:eq(0)').datetimepicker({
    format: 'DD-MM-YYYY'
});
$('#testdate #recoverydate2:eq(1)').datetimepicker({
    format: 'DD-MM-YYYY'
});

【问题讨论】:

  • 你没有。 HTML 中的 ID 应该是唯一的。
  • Ids应该是唯一的,你不能只是修改生成的id使其不同吗?
  • 好吧,我也在考虑它,但实际上这个 div 仅用于测试我必须生成的实际 div,如果你想看到整个我可以预测它,它会非常大。因此,当我克隆整个 div 时,我无法到达要更改 ID 的内部 div。
  • 顺便说一下,用同一个类代替ID可以吗?在这种情况下会起作用吗?
  • 是的,同样的课程可以正常工作。但是您必须小心不要在其他地方使用该类。

标签: javascript jquery html datetimepicker bootstrap-datetimepicker


【解决方案1】:

具有相同 id 的多个元素不是有效的 HTML。这就是class 存在的原因!也就是说,您可以使用新 ID 创建 div 的副本。

例如:

$('#testdate').append(
  '<div class="input-group date" id="recoverydate2-generated">' +
  $('#recoverydate2').html() +
  '</div>'
);

我希望这会有所帮助!

【讨论】:

  • 不,实际上我不能这样做,因为这段代码只是为了测试我必须生成的实际 div,如果你想看到整个我可以转发它,我必须生成它是相当大的。因此,当我克隆整个 div 时,我无法到达要更改 ID 的内部 div。
猜你喜欢
  • 2012-12-25
  • 2017-06-13
  • 2017-06-09
  • 1970-01-01
相关资源
最近更新 更多