在回发后重新选择

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在回发后重新选择相关的知识,希望对你有一定的参考价值。

我正在开发一个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不多。哈哈 :)

基本上,我试图用上面的代码重新应用所选择的效果。但是,现在,它甚至不会在页面的初始加载中应用该效果。你能帮我解决这个问题吗?谢谢!

答案

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);

    

多数民众赞成,问候

以上是关于在回发后重新选择的主要内容,如果未能解决你的问题,请参考以下文章

动态创建的 asp.net 控件在回发后消失

回发后多日期选择器不起作用

为啥我动态添加的控件在回发后会丢失它们的值?

Eval 方法在回发后不保存结果

RadDatePicker 和 RadTimePicker 在回发后失去样式

更新面板内的jquery datepicker在回发后消失