我有三个复选框,并希望禁用数字2和3,直到选中第一个。 然后设置所有选中。我该怎么做。
我试过
if ($('{namespace}allowplussning').is(':checked')) {
$('{namespace}#show-exams-on-passed-courses').removeAttr("disabled");
}
然后我想要一种方法来检查它们。
但它确实无效。第二和第三个没有被检查。
答案 0 :(得分:0)
根据要求:
<input type="checkbox" name="vehicle" id='cb1' value="Bike" onclick='update()'>I have a bike<br>
<input type="checkbox" name="vehicle" id='cb2' value="Cycle" disabled>I have a bike<br>
<input type="checkbox" name="vehicle" id='cb3' value="Car" disabled>I have a car
<script>
function update() {
if($('#cb1').is(':checked') ) {
$( "#cb2" ).prop( "checked", true );
$( "#cb3" ).prop( "checked", true );
$( "#cb2" ).attr( "disabled", null );
$( "#cb3" ).attr( "disabled", null );
return;
}
$( "#cb2" ).prop( "checked", false );
$( "#cb3" ).prop( "checked", false );
$( "#cb2" ).attr( "disabled", true );
$( "#cb3" ).attr( "disabled", true );
}
</script>
答案 1 :(得分:0)
尝试以下
HTML
<input type="checkbox" id="check1"/>
<input type="checkbox" id="check2" disabled="true"/>
<input type="checkbox" id="check3" disabled="disable"/>
JS
$(function(){
$("#check1").click(function(){
if(this.checked){
$("#check2").removeAttr("disabled").prop('checked', true);;
$("#check3").removeAttr("disabled").prop('checked', true);;
}
else{
$("#check2").prop("disabled","true").prop('checked', false);;
$("#check3").prop("disabled","true").prop('checked', false);;
}
});
});
答案 2 :(得分:0)
尝试此功能并调用复选框点击:
function updateState() {
console.log("here");
if ($('#cb1').is(':checked')) {
$("#cb2").prop("checked", true);
$("#cb3").prop("checked", true);
$("#cb2").removeAttr("disabled", null);
$("#cb3").removeAttr("disabled", null);
} else {
$("#cb2").prop("checked", false);
$("#cb3").prop("checked", false);
$("#cb2").attr("disabled", "disabled");
$("#cb3").attr("disabled", "disabled");
}
}
HTML:
<input type="checkbox" name="vehicle" id='cb1' value="Bike" onclick='updateState()'>I have a bike