我有以下代码(可以)切换iPhone样式复选框:
$('.iphone-style').live('click', function() {
checkboxID = '#' + $(this).attr('rel');
if($(checkboxID)[0].checked == false) {
$(this).animate({backgroundPosition: '0% 100%'});
$(checkboxID)[0].checked = true;
$(this).removeClass('off').addClass('on');
} else {
$(this).animate({backgroundPosition: '100% 0%'});
$(checkboxID)[0].checked = false;
$(this).removeClass('on').addClass('off');
}
});
在另一个函数中,我希望在取消选中另一个复选框(PhotoStyles)时取消选中一个特定的复选框(AerialView)。我不知道如何正确地用更具体的东西替换'this'参考。我有以下(不起作用):
if($('#PhotoStylesCheck')[0].checked == false) {
$('#AerialViewCheck').animate({backgroundPosition: '100% 0%'});
$('#AerialViewCheck')[0].checked = false;
$('#AerialViewCheck').removeClass('on').addClass('off');
}
请注意,我确认if语句有效,将checked设置为false也可以。 “animate”,“removeClass”和“addClass”的视觉元素不起作用。
答案 0 :(得分:0)
如果您有id
复选框,则检查是否已选中的语法为:
if($('#' + id).is(":checked")) {
// it is checked
}
else {
// it is not checked
}
在您的情况下,您没有使用正确的语法来检查复选框,而且您还得到了一个真实的'值。行。
现在,如果$('#AerialViewCheck')[0]
是复选框元素,则在其自身上应用animate,addClass,removeClass。为什么要尝试申请$('#AerialViewCheck')
?使用方式如下:
$('#AerialViewCheck')[0].animate({backgroundPosition: '100% 0%'});
$('#AerialViewCheck')[0].removeClass('on').addClass('off');