我有一个下拉列表,并且从两个js文件中应用了一些样式,包含在头部中:
<script type="text/javascript" src="js/functions.js"></script>
<script type="text/javascript" src="js/jquery.jqtransform.js"></script>
第一次加载页面时,它的效果非常好。
但是当我在这个页面上做一个ajax请求之前应用的样式丢失了,所以我已经从代码behing中包含了js src文件,如:
protected void Page_PreRender(object sender, EventArgs e)
{
loadJs();
}
private void loadJs()
{
ScriptManager.RegisterClientScriptInclude(this,
typeof(Page),
"AlertScript",
ResolveClientUrl("~/Site/js/jquery.jqtransform.js"));
ScriptManager.RegisterClientScriptInclude(this,
typeof(Page),
"AlertScript2",
ResolveClientUrl("~/Site/js/functions.js"));
}
但是......虽然我在浏览器中看到js文件在正文中正确加载但它仍然无法正常工作...
你有什么建议吗?
提前致谢。
答案 0 :(得分:1)
在你的ajax返回函数中(在html页面上)你需要重新应用你第一次加载页面时运行的jquery命令。
jQuery运行在DOM上并完成你告诉它的操作。当ajax调用返回并替换页面的一部分时,该区域的所有运行时更改都将丢失,因此您需要重新应用它们。
基本上你需要在替换的html元素上调用jqtransform.js和functions.js中调用的函数。