【发布时间】:2017-12-09 08:48:40
【问题描述】:
我希望输入在选中时更改其样式(添加背景颜色)。这是有效的,但是,在未检查输入单选类型时删除背景颜色的 else 语句不起作用。
已经尝试了各种不同的方法,但是当您单击不同的输入时无法触发 else 语句。
HTML:
<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>
JS:
$('input#t').on("click", function() {
if ($("input#t").is(':checked')) {
$(this).parent().addClass("active");
}
else {
$(this).parent().removeClass("active");
}
});
【问题讨论】:
-
问题是因为您有两个具有相同
id属性的元素 - 它们必须是唯一的。 -
也试过 - $('input[type=radio], input[type=checkbox]').on("click", function() { if ($(this).is( ':checked')) { $(this).parent().addClass("active"); } else { $(this).parent().removeClass("active"); } }); - 因此没有 ID,就没有成功。
标签: javascript jquery input radio-button