javascript - 如何在 UpdatePanel 异步调用完成后重新应用 .css 文件

标签 javascript css asp.net updatepanel jquery-chosen

我在 UpdatePanel 控件中有一个嵌套的 gridview。选择行编辑后,我需要在几个列中创建控件以选择下拉列表。我需要重新应用选择的插件和 .css 文件。我找不到可用的资源。 这是添加所选下拉列表的 javascript 函数调用:

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(onEndRequest);  function onEndRequest(sender, args) {
    if (sender._postBackSettings.panelsToUpdate != null) {
       $.load
        $.getScript("~/Scripts/chosen.jquery.min.js");
        $.getScript("~/Scripts/chosen.jquery.js");
        //This append function is not working.
        $('head').append('<link href="~/Styles/chosen.css" rel="stylesheet" type="text/css" />');
        (".chosen-single").chosen({
            search_contains: true,
            width: "200px",
            no_results_text: "Sorry, no match!"
        });
    }
};

使用此append 函数,我仍然收到以下错误: .chosen-single 不是函数。

我正在使用 ASP.NET MasterPages,所以 head 在 Site.Master 页面上。也许问题是我需要指定 head 在哪里?

谢谢。

最佳答案

这应该足够了:

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(onEndRequest); 

function onEndRequest(sender, args) {
    if (sender._postBackSettings.panelsToUpdate != null) {
        $("select:not(.chosen-single, .no-chosen)").chosen({
            search_contains: true,
            width: "200px",
            no_results_text: "Sorry, no match!"
        });
    }
};

您不需要再次加载 CSS 和 JS 文件,因为您之前已经加载过这些文件。

关于javascript - 如何在 UpdatePanel 异步调用完成后重新应用 .css 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33680609/

相关文章:

javascript - 为什么 XMLHttpRequest 返回 null?

javascript - OAuth 身份验证 - 使用 JavaScript 的访问 token (CORS 策略)错误

javascript - CSS 转换后更新 Three.js Raycaster

html - 我的 DIV 不听我的

html - 带有多个图标的按钮

asp.net - 如何防止我的 ASP.NET 应用程序在我的开发环境中不断重新启动?

javascript - 使用纯 Javascript/AJAX 实现客户端基于 token 的身份验证

javascript - 根据条件需要表单元素 (Happy.js)

c# - ASP .Net Core Queued 后台任务并行处理

javascript - 导出 Highcharts 图表时堆栈标签未正确呈现