javascript - 在 Firefox 和 IE 中的 MVC 部分 View 上进行 ajax 更新后,jQuery 日期选择器无法工作

标签 javascript .net asp.net-mvc jquery-ui datepicker

我有一个 MVC View ,其中有一个 div 容器,我通过 ajax 更新它。

<div id="PartialContainer"></div>

<script type="text/javascript">
$.ajax({
        url: '/my/partial_action',
        success: function(result) {
            $("#PartialContainer").html(result);
        }
    });

</script>

Controller 操作代码:

public ActionResult partial_action()
{
    return PartialView("_MyPartial");
}

最后,_MyPartial View :

<input type="text" class="datepicker" />

<script type="text/javascript">
    $(function() {
        alert("before");
        $("input.datepicker").datepicker();
        alert("after");
    });
</script>

问题: 这在 Chrome 中工作得很好,我得到了日期选择器下拉菜单,两个警报(之前和之后)都显示。然而,在 FF 和 IE 中,日期选择器不起作用。我确实收到了两个警报,但没有收到日期选择器行为。没有 firebug/F12 脚本错误。

我尝试在部分 View 之外添加日期选择器输入,并且它在所有浏览器中运行良好。

我正在使用 jQuery ui 1.7.2、mvc 4。

有人知道为什么会发生这种情况吗?

编辑:所以我解决了这个问题,这不是一个javascript问题,而是样式问题。我在 Twitter 引导对话框中使用日期选择器,它覆盖了日期选择器。更改一些 z 索引为我解决了这个问题。

最佳答案

尝试删除 $.ready 调用并将其替换为 IIFE,因此您的代码将如下所示:

<input type="text" class="datepicker" />

<script type="text/javascript">
    (function() {
        alert("before");
        $("input.datepicker").datepicker();
        alert("after");
    })();
</script>

编辑:我现在已经检查过,两种情况都可以在 FF 13、IE 9、Opera 12 和 Safari 5 中按预期工作。但是 IE 似乎缓存了结果,可能是这样问题。尝试在您的网址中添加一些随机参数或将 cache: false (默认情况下为 true)设置为基页中的 ajax 调用

<div id="PartialContainer"></div>

<script type="text/javascript">
$.ajax({
        url: '/my/partial_action',
        cache: false,
        success: function(result) {
            $("#PartialContainer").html(result);
        }
    });

</script>

关于javascript - 在 Firefox 和 IE 中的 MVC 部分 View 上进行 ajax 更新后,jQuery 日期选择器无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11582224/

相关文章:

c# - Asp.net & 文件修改?

c# - 如何避免堆栈溢出?

c# - 仅以 SA 用户身份运行的 Azure SQL 数据库存储过程

javascript - 访问 braintree 数组内部的问题

javascript - 模板中的 VueJS 绑定(bind)类不起作用

javascript - 在谷歌差异图表中更改工具提示名称(当前和以前的)

c# - 异步 CTP 错误 - 任务永远无法完成

javascript - 我的 Ajax.BeginForm 中的 OnSuccess 脚本传递了错误的数据

asp.net-mvc - 如何让 ASP.NET MVC 应用程序从 Azure 服务总线队列读取数据?

javascript - Javascript 中可以继承模块吗?