我正在开发一个ASP.NET网站。我正在使用所选的jQuery下拉列表。它工作得很好。这是代码......
<script type="text/javascript">
$(".chzn-select").chosen();
$(".chzn-select-deselect").chosen({ allow_single_deselect: true });
</script>
在我添加UpdatePanel后,在回发后,下拉列表不再起作用了。 (恢复到标准下拉列表。)我研究了这个问题,根据我的研究,我写了这段代码,但是没有用。
<script src="https://code.jquery.com/jquery-1.9.1.min.js" type="text/javascript"></script>
<script>
alert("1");
$(".chzn-select").chosen();
$(".chzn-select-deselect").chosen({ allow_single_deselect: true });
$(document).ready(function() {
alert("2");
// bind your jQuery events here initially
$(".chzn-select").chosen();
$(".chzn-select-deselect").chosen({ allow_single_deselect: true });
alert("3");
});
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function() {
alert("4");
// re-bind your jQuery events here
$(".chzn-select").chosen();
$(".chzn-select-deselect").chosen({ allow_single_deselect: true });
alert("5");
});
alert("6");
</script>
请不要笑。你可以看到我写的jQuery / js不多。哈哈:)
基本上,我试图用上面的代码重新应用所选的效果。但是,现在,它甚至不会在页面的初始加载中应用该效果。你能帮我解决这个问题吗?谢谢!
答案 0 :(得分:0)
1-首先在函数
中添加你的js脚本<script type="text/javascript">
function ChosenDropdown() {
$(".chzn-select").chosen();
$(".chzn-select").chosen({ allow_single_deselect: true });
}
</script>
2-使用ScriptManager.registerStartupScript在每个回发中注册js脚本:
protected void Page_Load(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "ChosenD", "ChosenDropdown()", true);
}
多数民众赞成, 问候