【发布时间】:2017-02-03 01:24:45
【问题描述】:
我正在使用 Bootstrap 3 并使用单选按钮组
<div class="form-group required">
<label for="option1" class="control-label col-md-4">Option 1</label>
<div class="col-md-6">
<div class="btn-group" data-toggle="buttons">
<label class="btn">
<input id="opt1-yes" name="option1" type="radio" value="1"><i class="fa fa-circle-o fa-2x"></i><i class="fa fa-dot-circle-o fa-2x"></i><span> Yes</span>
</label>
<label class="btn">
<input id="opt1-no" name="option1" type="radio" value="0"><i class="fa fa-circle-o fa-2x"></i><i class="fa fa-dot-circle-o fa-2x"></i><span> No</span>
</label>
</div>
</div>
</div>
<div class="form-group required">
<label for="option2" class="control-label col-md-4">Option 2</label>
<div class="col-md-6">
<div class="btn-group" data-toggle="buttons">
<label class="btn">
<input id="opt2-yes" name="option2" type="radio" value="1"><i class="fa fa-circle-o fa-2x"></i><i class="fa fa-dot-circle-o fa-2x"></i><span> Yes</span>
</label>
<label class="btn">
<input id="opt2-no" name="option2" type="radio" value="0"><i class="fa fa-circle-o fa-2x"></i><i class="fa fa-dot-circle-o fa-2x"></i><span> No</span>
</label>
</div>
</div>
</div>
jQuery
$('input[type=radio][name=option2]').change(function() {
if($('#opt2-yes').is(':checked')) {
$('input[type="radio"][name="option1"]').attr('disabled', true).parent('.btn').addClass('disabled');
$('#opt1-no').prop('checked', true);
$('#opt1-yes').parent('.btn').removeClass('active');
$('#opt1-no').parent('.btn').addClass('active');
}
else {
$('input[type="radio"][name="option1"]').attr('disabled', false).parent('.btn').removeClass('disabled');
}
});
假设我将第一个单选按钮选项设置为“是”,第二个选项设置为“是”,第一个选项应更改为“否”并被禁用。据我所知,这似乎有效,但如果我点击第一组,即使它们被禁用,我也可以更改选项
我在https://jsfiddle.net/tux7cftm/ 创建了一个小提琴,所以你可以看到问题
任何帮助表示赞赏
【问题讨论】:
标签: jquery css twitter-bootstrap-3 radio-button