3

我试图在单击表单字段时显示日期选择器,但没有显示日期选择器对话框。有趣的是,jquery 包含 datepicker div,但随后根本不显示或填充任何内容。

据我所知,javascript 错误控制台没有显示任何错误。

头部(缩短):

<link rel="stylesheet" href="/theme/sporthub/scripts/jqueryui/jquery-ui-1.8.16.custom.css" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
<script type="text/javascript" src="https://d2oqbtqshlvsrd.cloudfront.net/jquery.corner.js"></script>
<script type="text/javascript" src="/theme/sporthub/scripts/jqueryui/jquery-ui-1.8.16.min.js"></script>

表单域:

<div class="field1"><input id="donation_start" type="text" name="donation_start" value="<?= $a_donationsSetting['donation_start'] ?>" class="date_123 marginL14 hasDatepicker" /></div>

日期选择器调用:

$(document).ready(function() {
   $( "#donation_start" ).datepicker();
});

当我打开该站点并使用 Firebug 查看它时,我可以看到以下行显示(它不在实际的源代码中,所以我猜它被 datepicker 包含了......??)

<div class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all" id="ui-datepicker-div"></div>

我试图通过使用 $('.hasDatepicker').datepicker 来调用日期选择器,而不是将它放在 document.read() 中。没有成功。

最让我困惑的是,datepicker 也在另一个包含的文件中使用,它工作得非常好。

4

2 回答 2

15

我的同事刚刚出现并告诉我删除 hasDatepicker 类。这解决了这个问题。

显然,jquery-ui 在这个过程中添加了这个类,当它已经存在时,日期选择器不会触发。

于 2013-10-21T16:05:01.613 回答
0

我有一个类似的问题,z-index 是罪魁祸首。它使用相对于输入的 z-index,因此请确保您的输入字段具有 CSS position:relative 集,在我的情况下,我必须将 z-index 调整为 10 才能工作;

于 2016-01-05T04:47:30.613 回答