【发布时间】:2021-12-13 11:06:46
【问题描述】:
我的模板中有以下代码,当单击其包装/父 div 时选择单选按钮。
此外,我正在尝试将所选单选选项的背景颜色更改为red,并将文本颜色更改为white。
如果未选中单选选项,则将其背景颜色重置为默认white,将文本颜色重置为black。
但我的代码背景和所有选择选项的文本设置为背景颜色为white,文本颜色为black。
如果选择了其他选项,如何将选项的背景颜色设置为默认white,将文本颜色设置为black。
Jquery 和 javascript 方法都值得赞赏。谢谢。
$('.selectRadio').click(function(event) {
/* console.log($('.selectRadio').length) */
;
let element = $('.selectRadio');
let radButton = $(this).find('input[type=radio]');
for (let i = 0; i <= element.length; i++) {
/* $('selector').index(this) */
if (element.index(this) - 1 == i) {
console.log(element.index(this) - 1);
console.log(i);
radButton.prop("checked", true);
radButton.parent().css("background-color", "red");
radButton.parent().css("color", "white");
} else {
radButton.parent().css("background-color", "unset");
radButton.parent().css("color", "unset");
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<div class="container">
<div class="row">
<div class="col-4 selectRadio">
<div class="radio">
<label><input type="radio" name="optradio" >Option 1</label>
</div>
</div>
<div class="col-4 selectRadio">
<div class="radio">
<label><input type="radio" name="optradio">Option 2</label>
</div>
</div>
<div class="col-4 selectRadio">
<div class="radio">
<label><input type="radio" name="optradio">Option 3</label>
</div>
</div>
</div>
</div>
【问题讨论】:
标签: javascript jquery