我正在根据另一个复选框的状态简单地禁用和启用复选框。但是,我在使用
HTML:
prop("disabled", true)
禁用复选框时遇到了问题。但是它并没有起作用。我尝试使用prop("checked", true)
,它可以很好地工作。我不知道为什么prop("disabled", true)
不能够正常工作。HTML:
<div class="form-group question-option-block form-group">
<label for="option[]" class="control-label">Options</label>
<div class="row" style="">
<div class="col-xs-5 col-md-8"><input class="form-control question-option" name="option[]" type="text" value="0" id="option[]"></div>
<div class="col-xs-2 col-md-1"><input type="checkbox" class="open_ended_answers" name="open_ended_answers[]" value="1"> Open-ended </div>
<div class=" col-xs-2 col-md-1"> <input type="checkbox" class="required_open_answers" name="required_open_answers[]" value="1"> Required</div>
</div>
<div class="row" style="margin-top:20px;">
<div class="col-xs-5 col-md-8"><input class="form-control question-option" name="option[]" type="text" value="1" id="option[]"></div>
<div class="col-xs-2 col-md-1"><input type="checkbox" class="open_ended_answers" name="open_ended_answers[]" value="1"> Open-ended </div>
<div class=" col-xs-2 col-md-1"> <input type="checkbox" class="required_open_answers" name="required_open_answers[]" value="1"> Required</div>
</div>
<div class="row" style="margin-top:20px;">
<div class="col-xs-5 col-md-8"><input class="form-control question-option" name="option[]" type="text" value="2" id="option[]"></div>
<div class="col-xs-2 col-md-1"><input type="checkbox" class="open_ended_answers" name="open_ended_answers[]" value="1"> Open-ended </div>
<div class=" col-xs-2 col-md-1"> <input type="checkbox" class="required_open_answers" name="required_open_answers[]" value="1"> Required</div>
<div class="col-xs-2 col-md-1"><button class="btn btn-danger btn-flat remove-option">Remove</button></div>
</div>
</div>
Javascript:
$('.open_ended_answers').change(function() {
if($(this).is(":checked")) {
$(this).closest('.row').find(".required_open_answers").prop('disabled',false);
}
else{
$(this).closest('.row').find(".required_open_answers").prop('disabled',true);
$(this).closest('.row').find(".required_open_answers").prop('checked',false);
}
});
if(required_open_answers != null){
required_open_answers_input.each(function(i,val) {
if(required_open_answers[i] !== undefined) {
if(open_ended[i] == "1"){
$(this).prop("disabled", true);
}else{
$(this).prop("disabled", false);
}
if(required_open_answers[i] == "1"){
$(this).prop("checked",true);
}
}
});
}