当我尝试使{* 3}}使用单选按钮时,我无法使其正常工作。在阅读了几个答案后,我意识到我必须遗漏一些非常明显的东西。我试图这样做,以便当我点击收音机Others
时,它应该启用输入表单。我读到某个地方禁用required
上的输入表单规则,这对我正在尝试做的事情来说是完美的;也是我不想简单地显示/隐藏的原因。我很困惑为什么选择没有正确发生。它this fiddle。这是片段:
$('#ctypeother').on('click', function() {
if ($(this).is(':checked')) {
$('#ctypeotherwhat').prop('readonly', true);
$('#ctypeotherwhat').prop('disabled', false);
//alert('checked');
} else {
$('#ctypeotherwhat').prop('readonly', true);
$('#ctypeotherwhat').prop('disabled', true);
//alert('not checked');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="radio" name="ctype" value="A" /><label>A </label>
<input type="radio" name="ctype" value="B" /><label>B </label>
<input type="radio" name="ctype" value="C" /><label>C </label>
<input type="radio" name="ctype" value="D" id="ctypeother" />
<label>Other </label>
<input type="text" class="form-control" name="ctypeother" id="ctypeotherwhat" placeholder="Please Specify" />
答案 0 :(得分:1)
未正确触发未检查的事件。相反,使用这个:
$('input[type="radio"]').on('click', function() {
if ($("#ctypeother").is(':checked')) {
$('#ctypeotherwhat').prop('disabled',false);
} else {
$('#ctypeotherwhat').prop('disabled',true);
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="radio" name="ctype" value="A" /><label>A </label>
<input type="radio" name="ctype" value="B" /><label>B </label>
<input type="radio" name="ctype" value="C" /><label>C </label>
<input type="radio" name="ctype" value="D" id="ctypeother" />
<label>Other </label>
<input type="text" class="form-control" name="ctypeother" id="ctypeotherwhat" placeholder="Please Specify"/>
&#13;