我有一组复选框:
<input type="checkbox" value="v1" name="q_119[]">
<input type="checkbox" value="v2" name="q_119[]">
<input type="checkbox" value="v3" name="q_119[]">
<input type="checkbox" value="v4" name="q_119[]">
我想检查是否已选中某个特定复选框(例如value="v4"
如果是这样,请将css类添加到页面上的另一个元素。
我尝试使用此代码:
$('input[name="119[]"]').click(function(){
if ($('input[value="v1"]:checked'))
{
{
$('#qu_120').removeClass('hide');
}
else
{
$('#qu_120').addClass('hide');
}
}
});
但是选中复选框后,不会应用该类。 Here是我努力的方式
答案 0 :(得分:3)
你刚刚在selector
拼错了。检查名称。
尝试,
$('input[name="q_119[]"]').click(function(){
if ($('input[value="v1"]').is(':checked'))
{
$('#qu_120').removeClass('hide');
}
else
{
$('#qu_120').addClass('hide');
}
});
答案 1 :(得分:1)
尝试:
$('input[name="q_119[]"]').change(function(){
if ($('input[value="v1"]').prop('checked')){
$('#qu_120').removeClass('hide');
}
else{
$('#qu_120').addClass('hide');
}
});
答案 2 :(得分:1)
你有四个问题阻止它工作:
$('input[name="119[]"]').click(function(){ // name attr is incorrect, should be "q_119[]"
if ($('input[value="v1"]:checked')) // returns an object, so it will always be true
{ // <- unexpected curly brace
{
$('#qu_120').removeClass('hide');
}
else
{
$('#qu_120').addClass('hide');
}
} // <- unexpected curly brace
});
修复这些......
$('input[name="q_119[]"]').click(function () { // name attr is now correct
if ($('input[value="v1"]:checked').length) { // length is an integer which returns 0 if the selector cannot find the element
$('#qu_120').removeClass('hide');
} else {
$('#qu_120').addClass('hide');
}
});
您的代码运行正常:http://jsfiddle.net/fXKFp/8/