2012-10-25 124 views
0

我有2個單選按鈕和選項1和選項2下的下拉列表。用戶可以選擇單選按鈕或下拉列表。如何在選擇下拉值時取消選擇單選按鈕

選項1

radiobtn1 
radiobtn2 

選項2

dropdownlistbox 

下選項1的radiobtn1檢查作爲默認值。當用戶從下拉列表中選擇該值時,應該禁用這兩個單選按鈕,或者應該取消選中默認選中的radiobtn1。

  <tr><td>option1</td></tr> 
      <tr> 
      <td><asp:RadioButton ID="rdo" GroupName="Month" Text="radiobtn1" runat="server /></td> 
      <td><asp:RadioButton ID="rdo2" GroupName="Month" Text="radiobtn2" runat="server /></td> 
      </tr> 
      <tr><td>option2</td></tr> 
      <tr><td> 
      <asp:DropDownList ID="DropDownList1" runat="server" OnSelectedIndexChanged="ddMonYear_SelectedIndexChanged"> 
         <asp:ListItem Text="opt1"></asp:ListItem> 
         <asp:ListItem Text="opt2"></asp:ListItem> 
      </asp:DropDownList> 
      </td></tr> 

protected void Page_Load(object sender, EventArgs e) 
{ 
rdo.Checked=true; 
if (ddMonYear.SelectedValue.Length.ToString() != "0") 
     { 
      rdo.Checked = false; 
      rdo.Enabled = false; 
     } 
     else 
     { 
      rdo.Checked = true; 
     } 
} 

上述代碼不起作用。當我從下拉菜單中選擇數值時,radiobtn 1不會取消選擇。

幫我糾正我的代碼。 謝謝。

+0

看起來應該是客戶端腳本。你爲什麼不試着用JS來做呢? – Uriil

+0

爲什麼要將'Length'強制轉換爲字符串並將其與'「0」'進行比較?爲什麼不只是'ddMonYear.SelectedValue.Length!= 0'? –

+0

如果我以這種方式演繹..我收到一個錯誤,說運算符'!='不能應用於類型'int'和'字符串'的操作數 – Sam

回答

0

在您的下拉框,添加以下代碼(自動回)

<asp:DropDownList ID="DropDownList1" runat="server" OnSelectedIndexChanged="ddMonYear_SelectedIndexChanged" AutoPostBack=True"> 

這樣做是保持下拉框的值。每次加載頁面時,下拉框會在頁面加載事件觸發前獲取默認值。試試看。

+0

這是正確的? protected void ddMonYear_SelectedIndexChanged(object sender,EventArgs e) if(ddMonYear.SelectedValue.Length.ToString()!=「0」) { rdo.Enabled = false; } } – Sam