![](/img/trans.png)
[英]Dynamic drop down list's selected Index Changed event always return the first value
[英]Drop Down List not triggering Index changed event
當我使用此下拉列表時,它會觸發索引更改背后的代碼,
$('#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>
我該如何解決這個問題?
這很可能是因為blockUI會將內容附加到正文而不是form標簽。 如果它們不在form標記之外,Asp.Net控件將不會回發事件,因此在使用javascript將元素附加到正文時,您經常會遇到該事件。 您很可能必須對BlockUI進行一些修改。
有關更多信息,請參見以下答案: https : //stackoverflow.com/a/7929700/1346464 。
編輯:
總結鏈接的答案(基於撰寫本文時的最新版本的blockUI v2.59.0-2013.04.05):
在第319行(搜索var layers
)上,將$('body')
替換$('body')
$('form')
。
在第336行上(搜索$('html,body').css('height','100%');
),將$('html,body')
替換$('html,body,form')
。
編輯2:
修復了解鎖:
在第448行(搜索els = $('body').children().filter('.blockUI').add('body > .blockUI');
)將兩個body
實例替換為form
。
我不熟悉jQuery blockUI,但是使用jQuery Dialog時,它會在顯示表單時從表單中刪除所有表單字段。 因此,將表單發回時,您無權訪問它們。
使用jQuery Dialog,您必須添加一些代碼才能將字段添加回表單中。 我建議搜索以查看blockUI是否存在相同的問題。
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)
{
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.