2010-11-25 199 views
1

有一個複選框和一個文本框。最初文本框被設置爲禁用,並在複選框中選中啓用的文本框。我hv試過這個,但問題是,當runat服務器被添加時它不工作。或者我應該改變asp.net標準控件的JavaScript邏輯。或者可以建議我採取一種更好的方式來做到這一點。複選框和文本框

<script type="text/javascript"> 
$(document).ready(function() { 
    var checkbox = $('#htmlChkNotify'); 
    var textfield = $('#htmlTxtNotifyemailaddress'); 
     checkbox.click(function() { 
      if (checkbox.is(':checked')) { 
       textfield.removeAttr('disabled'); 
       textfield.removeClass("email"); 
      } 
      else { 
       textfield.attr('disabled', 'disabled'); 
       textfield.addClass("email"); 
      } 
     }); 
    }); 


    </script> 

<input type="checkbox" id="htmlChkNotify"/> 
<label for="htmlChkNotify">Notify</label> 
<input type="text" id="htmlTxtNotifyemailaddress" disabled="disabled" 
     class="email" style="width:25%" /> 

回答

0

查看生成的HTML(瀏覽器中的「查看源文件」)複選框,文本框的
和檢查身份證

1

有幾種方式來得到這個工作。

  1. 使用所有服務器端代碼。
  2. 在您的客戶端(javascript)代碼中,而不是使用服務器端id,請使用該控件的.ClientId屬性。所以,如果你的htmlChkNotify是服務器端,您可以使用var checkbox = $('#<%=htmlChkNotify.ClientId%>');
+0

它不工作 – kinn 2010-11-25 14:28:58

1
  1. runat屬性添加到您的文本框
  2. 更改您的4號線是 VAR文本框= $('#<%= htmlTxtNotifyemailaddress。 ClientID%>');

應該這樣做