任何人都可以帮我解决这个问题吗?
$(document).ready(function() {
if(
$("input.check").is(":checked")){
$(this).parent().addClass("question-box-active");
}
});
我正在尝试将类(问题框 - 活动)添加到.check(单选按钮)的父级,只有在选中它时。如果我使用警报进行测试,它可以正常工作,但我无法设置添加该类。
感谢大家的帮助。
更新:这是表单的HTML。我只复制了48个中的3个div。正如你猜测的那样,如果在页面加载时已经检查了单选按钮,我试图在问题框中添加一个类。到目前为止没有运气。
<div class="question-box">
<input class="check" type="checkbox" name="question-1" value="1" <?php if(isset($_POST['question-1'])) echo "checked"; ?> />
<span class="question">1. Save a rainforest or grow organic vegetables</span>
</div>
<div class="question-box alt">
<input class="check" type="checkbox" name="question-2" value="1" <?php if(isset($_POST['question-2'])) echo "checked"; ?> />
<span class="question">2. Solve complicated math problems</span>
</div>
<div class="question-box">
<input class="check" type="checkbox" name="question-3" value="1" <?php if(isset($_POST['question-3'])) echo "checked"; ?> />
<span class="question">3. Act in a movie, play, or television show</span>
</div>
答案 0 :(得分:2)
尝试类似
的内容$('input.check').is(':checked').each(function() {
$(this).parent().addClass('question-box-active');
});
答案 1 :(得分:2)
我认为$(this)
并不是指您案例中的无线电按钮
你可以绑定单选按钮的click事件并决定从那里做什么......
$(document).ready(function(){
$("input.check").click(function(){
if($(this).is(":checked")){
$(this).parent().addClass("question-box-active");
}
});
});
答案 2 :(得分:2)
您使用的this
位于ready
处理程序回调的函数上下文中,因此它没有像您预期的那样指向input.check
。
尝试这样的事情:
$(document).ready(function() {
var foo = $('input.check');
if ( foo.is(':checked') ) {
foo.parent().addClass('question-box-active');
}
});
这是假设您的代码逻辑正确。但是,我假设您正在尝试做一些类似Doug在另一个答案中提供的内容。发布一些HTML可能有助于澄清。
答案 3 :(得分:2)
这样可行。
$(document).ready(function() {
var foo = $('input.check:checked');
if ( foo.is(':checked') ) {
foo.parent().addClass('question-box-active');
}
});