2013-05-09 59 views
0

我的下拉列表後面觸發,當我使用這個指數的變化碼,下拉列表不會觸發指數變化的事件

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

但不觸發事件,當我用,

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

這裏是我的標記爲格在那裏降下來就是,看起來像一個消息框

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

我怎樣才能解決這個問題呢?

+0

你在哪裏把這個jQuery能請你分享一些更多的代碼細節? – AlokBhatt 2013-05-09 11:55:21

+0

你需要什麼代碼?它是我正在使用的一個插件,在這裏http://www.malsup.com/jquery/block/ – Change 2013-05-09 11:55:53

+0

嘗試在顯示它之後將焦點設置到消息框。 '$('#messagebox')。focus();' – nunespascal 2013-05-09 11:55:55

回答

1

這很可能是因爲blockUI將內容附加到body而不是form標籤。如果Asp.Net控件位於form標籤之外,它們將不會回發事件,因此當您使用javascript將元素附加到body時,經常遇到它。您很可能必須對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 > .blockUI');)與form取代的body兩個實例。

+0

我在其他帖子上編輯了你的答案,因爲它沒有意義,請告訴我它是否正確 – Change 2013-05-09 13:43:04

+0

Twasn't我的回答,但我看不到任何無論如何編輯:) – Maloric 2013-05-09 13:46:32

+0

哦對不起,也許我不能編輯它,但他說太多「與」,也只能找到第一行 – Change 2013-05-09 13:48:57

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

} 
+0

那是什麼?s – Change 2013-05-09 11:52:13

+0

他已經在控件上有'AutoPostBack =「true」'。 – DGibbs 2013-05-09 11:56:30

+0

需要正確閱讀並理解問題和代碼。 – Rahul 2013-05-09 11:58:01

0

我對jQuery blockUI不熟悉,但使用jQuery Dialog,它在顯示時從表單中刪除任何表單域。因此,當表單回傳時,您無法訪問它們。

使用jQuery對話框,您必須添加一些代碼才能將字段添加回表單。我建議搜索,看看blockUI是否有相同的問題。

相關問題