解决jQuery动态获取checkbox的选取状态问题。
一般情况下,我们使用prop()或者attr()来设置checkbox的选中状态
$('#checkboxID').attr('checked','checked'); //jQuery1.5 below
$('#checkboxID').prop('checked',true); //jQuery 1.6+
使用$('#checkboxID').prop('checked')
来判断复选框是否被选中(jQuery1。6+),但是这只能获取第一次即原始设置的状态,在之后,你动态改变checkbox的状态,并不能根据$('#checkboxID').prop('checked')
来判断当前的复选框状态。
要解决动态获取复选框状态的问题,可以定义一个函数,并在checkbox上绑定“Onclick”事件,在点击切换状态时触发该函数。
<input type="checkbox" name="switch" checked="checked" id="switch" Onclick="Switch()" />
<script>
function Switch() {
var $left = $('.left');
var check = $('#switch');
if(!check.prop('checked')) {
$left.css({'transform':'translateX(-100%)','transition':'1s 0.5s'});
$('.switch').css({'left': '1%','transition': '0.4s 1s'});
} else {
$left.css({'transform':'translateX(0)','transition':'1s 0.5s'});
$('.switch').css({'left': '7%','transition': '0.4s'});
}
}
</script>