2011-12-31 58 views
6

在我的窗體中有兩個DropDownList控件。如何獲得選定的值禁用下拉列表中的c#

1st啓用,2nd禁用。

選擇第一個下拉列表後,我將使用javascript更改第二個下拉列表的選定值。

它的工作正常。但是,當我試圖獲得第二個下拉列表的選定值時,它將返回第一個元素的值(即'select')。

請參考我的代碼

<asp:DropDownList ID="ddlStartTime1" runat="server" AutoPostBack="false" 
Width="70" Enabled="false"></asp:DropDownList> 

注:我使用JavaScript來改變第二(禁用)下拉列表中選擇值。

Javascript代碼:

$(document).ready(function() { 
    $('#<%= ddlStartTime1.ClientID %>').change(function() { 
     $('#<%= ddlEndTime1.ClientID %>').val($('#<%= ddlStartTime1.ClientID%>').val()); 
    }) 
}); 

是否有任何替代辦法讓殘疾的DropDownList的變化值?

+1

您正嘗試在服務器或客戶端獲取第二個下拉列表的選定值? – Pavan 2011-12-31 10:34:32

+0

@ JQone-我試圖在服務器端獲得第二個下拉列表的選定值。 – Abhi 2011-12-31 13:36:43

回答

11

如果您嘗試讀取服務器上第二個下拉列表的值(禁用一個),您將永遠無法讀取更新後的值,因爲禁用的控件中的數據不會從客戶端回發到服務器。

您應該在將數據發佈到服務器之前啓用下拉菜單或使用隱藏控件來保存禁用的下拉菜單的數據。

+0

@ JQone-我試圖在服務器端獲得第二個下拉菜單的選定值。 – Abhi 2011-12-31 13:37:26

+0

@Abhi假設您正在嘗試讀取服務器端的第二個下拉值,我已經回答了您的問題。 – Pavan 2011-12-31 13:39:49

1

您需要添加另一個inputhidden。無論何時您更改第一個DropDownList的值,您都會更改第二個DropDownList的值以及隱藏輸入的值。

服務器端,你沒有看到第二個DropDownList的值,但在你的隱藏輸入的價值。確保在發佈表單時隱藏的值始終與第二個DDL同步。

0

只需在隱藏字段中添加已禁用的下拉列表的值,然後從隱藏字段中讀取值而不是dropdownlist.may,這樣可以幫助您。

相關問題