2011-03-10 33 views
0

如果複選框被選中而不是文本框應該被啓用,否則應該禁用文本框。禁用並啓用文本框檢查點擊

不知道爲什麼這段代碼不工作?

<script type="text/javascript"> 
function toggleTB(what){ 
if(what.checked){document.test.from_address.disabled=1} 
else{document.test.from_address.disabled=0}} 
</script> 

<% form_for(@test,:name => "test") do |f| %> 
<table> 
     <tr> 
      <td class="right upcase none"> 
       <%= f.label 'text_enabled', "Enable",:class => "capitalize none" %> 
       <%= f.check_box :text_enabled,:onclick => "toggleTB(this)" %> 
      </td> 
     </tr> 

     <tr> 
      <td class="right upcase none"> 
       <%= f.label 'from_address', "From Address",:class => "capitalize none" %> 
      </td> 
      <td> 
       <%= f.text_field 'from_address', :maxlength => 16 %> 
      </td> 
     </tr> 
</table> 
<% end %> 

任何想法?

回答

0

這個工作對我的終點設置disabled=disabled ..

<script type="text/javascript"> 
    <!-- 
function toggleTB(what){ 
document.getElementById("test_from_address").disabled = !what.checked; 
} 
--> 
</script> 

<% form_for(@test,:name => "test") do |f| %> 
<table> 
     <tr> 
      <td class="right upcase none"> 
       <%= f.label 'text_enabled', "Enable",:class => "capitalize none" %> 
       <%= f.check_box :text_enabled,:onclick => "toggleTB(this)" %> 
      </td> 
     </tr> 

     <tr> 
      <td class="right upcase none"> 
       <%= f.label 'from_address', "From Address",:class => "capitalize none" %> 
      </td> 
      <td> 
       <%= f.text_field 'from_address', :maxlength => 16 %> 
      </td> 
     </tr> 
</table> 
<% end %> 
+0

是怎麼做的工作?......我的想法是,文本字段的id將是'test_from_address'像Rails這樣做,在形式的...所以我想你將不得不做'的document.getElementById (「test_from_address」)。disabled =!what.checked;' – rubyprince 2011-03-10 11:40:09

+0

@rubyprince謝謝。我已更新。 – 2011-03-10 11:58:20

1
Try like this 

<script type="text/javascript"> 
    function toggleTB(what){ 
     if(what.checked){document.getElementById('from_address').disabled=1} 
    else{document.getElementById('from_address').disabled=0}} 
</script> 

<input type="checkbox" name="toggle" onclick="toggleTB(this)"/> 
<input type="input" id="from_address" /> 
1

嘗試設置disabled = truedisabled=false ..also的text_box的ID將test_from_address和名稱將是test[from_address]

0
$(function() 
    { 
     $("#dropdown").change(function() 
     { 
      if ($(this).val()== "option1") 
      { 
       $("#textbox1").removeAttr("disabled"); 
       $("#textbox2").removeAttr("disabled"); 
      } 
      else 
      { 
       $("#textbox2").attr("disabled", "disabled"); 
       $("#textbox2").attr("disabled", "disabled"); 
      } 
     }); 
     $("#PaymentMode").change(function() 
     { 
      if ($(this).val()== "option2") 
      { 
       $("#textbox3").removeAttr("disabled"); 
       $("#textbox4").removeAttr("disabled"); 
       $("#textbox5").removeAttr("disabled"); 
      } 
      else 
      { 
       $("#textbox3").attr("disabled", "disabled"); 
       $("#textbox4").attr("disabled", "disabled"); 
       $("#textbox5").attr("disabled", "disabled"); 
      } 
     }); 
    }); 
+0

這一個至少與下拉菜單中的值一起工作 – 2013-03-13 09:10:20