【问题标题】:JQuery Datepicker error after Postback with Ajax使用 Ajax 回发后的 JQuery Datepicker 错误
【发布时间】:2014-03-01 14:54:38
【问题描述】:

我的 Datepicker 工作正常,但回发后它不再工作了。我也尝试了 pageLoad 方法,但它仍然不起作用。

我有一个来自数据库的项目列表。如果我单击列表中的一个项目,我会从数据库的表中获取有关它的信息(我使用带有 Ajax 的 POST 方法)。

jquery:

<script>
$(function() {
      var pickerOpts = { dateFormat: $.datepicker.ATOM }; 
      $("#datepicker").datepicker(pickerOpts);
             });
</script>

文本字段:

echo("<input type='text' id='datepicker' value='$db[deadline]'>");

我已经用谷歌搜索了几个小时,但没有发现任何对我有用的东西。

编辑说明:尝试 Rahil Wazir 的帮助后出现错误:

【问题讨论】:

  • 如果包含 jquery datepicker 库,请确保它在 jquery 库之后调用。
  • @rahilWazir 我已经修复了这个错误。唯一的一个是:TypeError: $.datepicker is undefined var pickerOpts = { dateFormat: $.datepicker.ATOM };
  • ajax是拉取一条数据替换还是替换所有dom元素?
  • Ajax 只替换一个 div。上面的列表仍然存在。

标签: javascript jquery ajax datepicker


【解决方案1】:

使用这个:

<script>
$(function() {
    var pickerOpts = { dateFormat: $.datepicker.ATOM }; //Place this inside below .on handler if this also updates.
    $(document).on('focus', '#datepicker', function(e){
        $(this).datepicker(pickerOpts);
    });
});
</script>

当 dom 更新时,您必须使用 $(document).on 处理程序。并添加事件focus 以触发日期选择器处理程序。

已编辑:
请参阅此answer 以获得更多帮助

【讨论】:

  • 我在我的代码中实现了它,但现在 Datepicker 根本不起作用。我从“about.php”页面获得了有关列表项的信息。那么我是否必须在列表(“list.php”)所在的页面或我获取信息的页面(“about.php”)上编写JQuery函数?
  • 在开发者控制台中复制$(document)...代码,如果可行,请告诉我。
  • 我已将错误添加到问题中。 “auftraege.php”是我的“list.php”
猜你喜欢
  • 2010-10-05
  • 2013-12-06
  • 1970-01-01
  • 2011-09-30
  • 1970-01-01
  • 1970-01-01
  • 2015-01-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多