在我的页面(jsp)中,我有一个单选按钮组和一个文本框(最初被禁用).
>每当用户单击单选按钮时,应启用文本框
>当用户点击某个其他单选按钮时,文本框应该再次被禁用.
我可以使用以下代码启用最初禁用的复选框.
$("#DevGroup_OTHER").click(function(){ $("#otherDevText").attr("disabled",""); })
我的问题:
>但是如何禁用文本框?
>使用jQuery有更简单的解决方案吗?
问候
解决方法
始终禁用它(对于每个单选按钮),然后重新启用它,如果单选按钮是启用文本框的按钮.除非用户在1980年建造的机器上,否则会很快,不会有人知道.
$('radio').click(function() { $("#otherDevText").prop("disabled",true); if($(this).attr('id') == 'enable_textBox') { $("#otherDevText").prop("disabled",false); } });
或者,如果有多个单选按钮将启用文本框:
$('input:radio').click(function() { $("#otherDevText").prop("disabled",true); if($(this).hasClass('enable_tb')) { $("#otherDevText").prop("disabled",false); } });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <fieldset id="DevGroup_OTHER"> <input type="radio" id="d1" name="r1" value="d1">dev1 <br /> <input type="radio" id="d2" name="r1" value="d2">dev2 <br/> <input type="radio" id="d3" name="r1" value="d3" class="enable_tb"> enable </fieldset> <br /> <input id="otherDevText" name="tb1" disabled="disabled" value="some TextBox value" type="text">
合理?