Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 已选中jQuery单选按钮,else语句不工作_Javascript_Jquery_Input_Radio Button - Fatal编程技术网

Javascript 已选中jQuery单选按钮,else语句不工作

Javascript 已选中jQuery单选按钮,else语句不工作,javascript,jquery,input,radio-button,Javascript,Jquery,Input,Radio Button,我希望输入在选中时更改其样式(添加背景色)。但是,当未选中输入无线电类型时,删除背景色的else语句不起作用 尝试了各种不同的方法,但在单击其他输入时无法激发else语句 HTML: codepen:问题是因为您有两个元素具有相同的id属性-它们必须是唯一的 要解决此问题,请使用类对单选按钮进行分组,然后使用this关键字引用change事件处理程序中的元素。试试这个: $('.t')。关于(“更改”,函数(){ $('label').removeClass('active'); $(this

我希望输入在选中时更改其样式(添加背景色)。但是,当未选中输入无线电类型时,删除背景色的else语句不起作用

尝试了各种不同的方法,但在单击其他输入时无法激发else语句

HTML:


codepen:

问题是因为您有两个元素具有相同的
id
属性-它们必须是唯一的

要解决此问题,请使用类对单选按钮进行分组,然后使用
this
关键字引用
change
事件处理程序中的元素。试试这个:

$('.t')。关于(“更改”,函数(){
$('label').removeClass('active');
$(this.parent().toggleClass('active',this.checked));
//输出();
});
tr{
颜色:白色;
}
td.foo{
背景色:rgb(153、117、82);
}
td.bar{
背景色:rgb(255,57,57);
}
.主动{
背景颜色:蓝色;
}

1.
2.

问题是因为有两个元素具有相同的
id
属性-它们必须是唯一的

要解决此问题,请使用类对单选按钮进行分组,然后使用
this
关键字引用
change
事件处理程序中的元素。试试这个:

$('.t')。关于(“更改”,函数(){
$('label').removeClass('active');
$(this.parent().toggleClass('active',this.checked));
//输出();
});
tr{
颜色:白色;
}
td.foo{
背景色:rgb(153、117、82);
}
td.bar{
背景色:rgb(255,57,57);
}
.主动{
背景颜色:蓝色;
}

1.
2.

问题是因为您有两个元素具有相同的
id
属性-它们必须是唯一的。您也尝试过-$('input[type=radio],input[type=checkbox')。在(“click”,function(){if($(this).is(':checked')){$(this).parent().addClass(“active”)}else{$(this.parent().removeClass(“active”)} }); - 因此,如果没有ID,则不会成功。问题是,您有两个元素具有相同的
ID
属性-它们必须是唯一的。您也尝试过-$('input[type=radio],input[type=checkbox]')。在(“click”,function(){if($(this).is(':checked')){$(this).parent().addClass(“active”)}else{$(this).parent().removeClass(“活动”);}}因此,没有身份证,就没有成功。不幸的是,仍然没有运气。你能进一步说明吗。什么没有发生?控制台中有错误吗?正如您从上面的代码片段中所看到的,考虑到questionUser错误中的示例代码,它可以正常工作!非常感谢,我已经在这上面呆了很久了!不幸的是,仍然没有运气。你能详细说明一下吗。什么没有发生?控制台中有错误吗?正如您从上面的代码片段中所看到的,考虑到questionUser错误中的示例代码,它可以正常工作!非常感谢,我已经在这上面呆了很久了!
<tr style="color:white;">
<td id="test" style="background-color:rgb(153, 117, 82);" value="1">
<label><input type="radio" name="c0" class="c0" value="10" onclick="output();" id="t"/>1</label>
</td>
</tr>

<tr style="color:white;">
<td style="background-color: rgb(255, 57, 57);">
<label><input type="radio" name="c0" class="c0" value="20" onclick="output();" id="t"/>2</label>
</td>
$('input#t').on("click", function() {
if ($("input#t").is(':checked')) {
    $(this).parent().addClass("active");
} 
    else {
    $(this).parent().removeClass("active");
}
});