【问题标题】:Drop Down List not triggering Index changed event下拉列表未触发索引更改事件
【发布时间】:2013-05-09 11:48:07
【问题描述】:

当我使用它时,我的下拉列表会在索引更改时触发代码,

$('#messagebox').show();

但在我使用时不会触发事件,

 $.blockUI({message: $('#messagebox'), css: { width: '600px' } });

这是我的 div 标记,其中下拉菜单看起来像一个消息框

<div id="messagebox" style="display: none; cursor: default">
   <asp:DropDownList ID="ddl" runat="server" EnableViewState="true" AutoPostBack="true" OnSelectedIndexChanged="ddl_SelectedIndexChanged"/>
</div>

我该如何解决这个问题?

【问题讨论】:

  • 你到底把这个jquery放在哪里,你能分享更多的代码细节吗?
  • 你需要什么代码?它是我正在使用的插件,这里是malsup.com/jquery/block
  • 显示后尝试将焦点设置到消息框。 $('#messagebox').focus();
  • 你为什么用Jquery来显示Dropdown?
  • 因为我想先生?

标签: c# javascript jquery asp.net ajax


【解决方案1】:

这很可能是因为 blockUI 将内容附加到正文,而不是表单标记。如果 Asp.Net 控件在表单标记之外,它们将不会回发事件,因此在使用 javascript 将元素附加到正文时经常遇到它。您很可能需要对 BlockUI 进行一些修改。

有关详细信息,请参阅此答案:https://stackoverflow.com/a/7929700/1346464

编辑:

总结链接的答案(基于 blockUI v2.59.0-2013.04.05,这是撰写本文时的最新版本):

在第 319 行(搜索 var layers),将 $('body') 替换为 $('form')

在第 336 行(搜索 $('html,body').css('height','100%');),将 $('html,body') 替换为 $('html,body,form')

编辑 2:

修复解锁:

在第 448 行(搜索 els = $('body').children().filter('.blockUI').add('body &gt; .blockUI');)将 body 的两个实例替换为 form

【讨论】:

  • 我在其他帖子上编辑了你的答案,因为它没有意义,请告诉我它是否正确
  • 哦,抱歉,我可能无法编辑它,但他说的“with”太多了,而且我只找到第一行
  • 我只通过更改第一行来修复它,你是发现它的天才和救星,谢谢
  • 没问题,这种事情已经难倒我好几次了。用两条线的位置更新了我的答案。
  • 再次更新了我的答案以修复解锁问题。
【解决方案2】:

我不熟悉 jQuery blockUI,但是使用 jQuery Dialog,它会在显示时从表单中删除任何表单字段。因此,当表单被发回时,您无法访问它们。

使用 jQuery Dialog,您必须添加一些代码才能将字段添加回表单。我建议搜索一下 blockUI 是否有同样的问题。

【讨论】:

    【解决方案3】:
    autopostbackproperty=true like  below
    
    <asp:DropDownList ID="ddlName"  runat="server" AutoPostBack ="true"
        onselectedindexchanged="ddlName_SelectedIndexChanged" >
    </asp:DropDownList>
    
    protected void ddlName_SelectedIndexChanged(object sender, EventArgs e)
    {
    
    }
    

    【讨论】:

      猜你喜欢
      • 2017-03-21
      • 2017-06-19
      • 1970-01-01
      • 2014-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-17
      相关资源
      最近更新 更多