2010-12-21 213 views
0

我在我的MVC頁面上有兩個單選按鈕。當我點擊「是」按鈕時,它會啓用文本框,但是當我點擊「否」時,它不會禁用文本框。可能是什麼問題呢?單選按鈕單擊不起作用

$('#rdoDate').click(function() { 
     debugger; 
     switch ($(this).val()) { 
      case 'N': 
       $("#txtDate").attr("disabled", true); 
       break; 
      case 'Y': 
       $("#txtDate").removeAttr("disabled"); 
       break; 
     } 
    }); 

    <%=Html.RadioButton("rdoDate","Y")%><label>Yes</label> 
    <%=Html.RadioButton("rdoDate", "N", true)%><label>No</label> 

<%: Html.TextBoxFor(model => model.txtDate, new { id = "txtDate", disabled = true })%> 

回答

2

您無法在html頁面上定義兩個相同的ID。 如果「rdoDate」是一個ID,你必須定義一個另一個用於第二線,如:

<%=Html.RadioButton("rdoDateY","Y")%><label>Yes</label> 
<%=Html.RadioButton("rdoDateN", "N", true)%><label>No</label> 

但如果它是一個名字,這個問題是在你的JS代碼,在那裏你嘗試訪問ID元素(通過#)而不是名稱元素(我不知道Html.RadioButton)。 如果是這種情況,你應該找到喜歡你的元素:

$('input[name="rdoDate"]').click (...); 

希望這有助於:)

+0

感謝。有效。 – nav100 2010-12-21 16:35:14