在回答使用onclick =“$('#co1')。attr('checked',true);”之后修改了问题这适用于disabled =“disabled”属性.....
但是... $ aBoxes.change(function(){似乎不适用于onclick =“$('#co1')。attr('checked',true);”
原始问题.....
我被告知“当元素被禁用时,事件也会被禁用。”
我想禁用复选框,但点击链接会触发事件。
我有这个jquery:
var $aBoxes = $('#co1,#co2,#co3');
$aBoxes.change(function(){
// check if all are checked based on if the number of checkboxes total
// is equal to the number of checkboxes checked
if ($aBoxes.length == $aBoxes.filter(':checked').length){
$('#a1').hide();
$('#a2').show();
}else{
$('#a1').show();
$('#a2').hide();
}
});
<div id="a1">
a1 div
</div>
<div id="a2" style="display:none;">
a2 div
</div>
<div class="content">
<ul>
<li>
<input disabled="disabled" id="co1" name="co1" type="checkbox" <?php if($mychecklist->co1==1) echo 'checked' ?>/>
<a href="http://bbc.co.uk" target="_blank" onclick="$( '#co1' ).attr( 'checked', true );">Link 1</a>
</li>
<li>
<input disabled="disabled" id="co2" name="co2" type="checkbox" <?php if($mychecklist->co2==1) echo 'checked' ?>/>
<a href="http://bbc.co.uk" target="_blank" onClick="$( '#co2' ).attr( 'checked', true );">Link 2</a>
</li>
<li>
<input disabled="disabled" id="co3" name="co3" type="checkbox" <?php if($mychecklist->co3==1) echo 'checked' ?>/>
<a href="http://bbc.co.uk" onClick="$( '#co3' ).attr( 'checked', true );">Link 3</a>
</li>
</ul>
</div>
链接上的onclick事件非常适合检查复选框,但我想禁用使用disabled =“diasabled”复选框并仍然可以使用它。这样,用户必须单击链接以选中要复选的复选框,而不是绕过此步骤并自行选中复选框。
提前感谢您的帮助。
答案 0 :(得分:1)
使用复选框的readonly
属性!
答案 1 :(得分:1)
目前尚不清楚是否要使用<a>
链接检查已禁用的复选框,或触发附加到该复选框的点击事件。如果是前者,您可以使用$( '#tt2' ).attr('checked', !$( '#tt2' ).attr('checked') )
切换复选框或$( '#tt2' ).attr( 'checked', true )
进行检查。如果是后者,即使禁用该复选框,click事件仍应运行。
如果您需要两者选中该框并触发事件,请使用这两种技术。
<a href="http://bbc.co.uk" target="_blank"
onclick="$( '#co1' ).attr( 'checked', true ).trigger( 'change' );">