2010-11-03 185 views
1

我高寫了這段代碼。但它是爲html複選框和txtbox。我想要與asp.net txtbox和checkbox.how具有相同的功能嗎?已禁用文本框

<script type="text/javascript"> 
    $(document).ready(function() { 
    var checkbox = $('#notify'); 
     var textfield = $('#notifyemailaddress'); 
     checkbox.click(function() { 
      if (checkbox.is(':checked')) { 
       textfield.removeAttr("disabled"); 
       textfield.removeClass("email"); 
      } 
      else { 
       textfield.attr("disabled", "disabled"); 
       textfield.addClass("email"); 
      } 
     }); 
    }); 
</script> 
<div> 
           <input type="checkbox" id="notify"/> 
           <label for="notify">Notify</label> 
           <input type="text" id="notifyemailaddress" disabled="disabled" class="email" style="width:25%" /> 
          </div> 
+0

結帳這個[示例](http://www.dotnetspider.com/resources/40877-Enable -disable-textbox-when-checked.aspx) – 2010-11-03 08:29:35

回答

1

你需要找到在asp.net正確的ID,並要做到這一點,你可以使用客戶端ID 你的asp.net控件。所以,你喜歡寫東西

var checkbox = $('#<%=notify.ClientID%>'); 

其中<%= notify.ClientID%>,是打印你的控制最終呈現的ID,並輸入看起來像

<asp:CheckBox runat="server" id="notify" /> 

在asp.net 4您還可以使用靜態ID來避免ClientID,但請注意不要在同一頁面上多次使用相同的控件ID。你可以閱讀更多關於:http://msdn.microsoft.com/en-us/library/1d04y8ss.aspx

+0

我hv試過這個但不工作.......... – koin 2010-11-03 10:08:35

+0

@koin是的想法是工作,檢查其他細節,至於JavaScript錯誤。還要在瀏覽器上調試您的JavaScript,看看您找不到 – Aristos 2010-11-03 10:31:58

+0

可能的錯誤是什麼? – koin 2010-11-03 13:21:33

0

如果複選框服務器控件的名字是notifyemailaddress然後使用此:

var textfield = $('#<%= notifyemailaddress.ClientID %>');