javascript - 选中单选按钮时如何更改元素的颜色
问题描述
页面如何工作:
用户填写注册表(姓名、姓氏、年龄......)。管理员可以查看所有这些值,并通过单击相应的单选按钮来批准或拒绝每个值。
我想要什么:
在我的 .phtml 文件中,我有一个循环,可以生成不同的单选按钮组(1 组用于名称字段,1 组用于姓氏等)。每个单选按钮都有不同的 ID。每个单选按钮组对应于页面中的不同元素(姓名,姓氏...)。如何检查每组 2 个单选按钮中的哪一个被选中,并更改其对应元素(姓名、姓氏...)的背景颜色?
到目前为止我所做的:
我可以使它工作的唯一方法是实际单击单选按钮并获取它的 ID。然后通过使用'data-html'指令,我改变了相应字段的颜色。
我尝试将 .click 函数更改为 .checked 但我无法弄清楚如何获取我需要的 ID。
$(document).ready(function () {
$('.radio-approved').click(function(){
greenColor($(this));
});
$('.radio-rejected').click(function(){
redColor($(this));
});
});
function greenColor(button) {
var correspondingField=document.getElementById(button.data('html'));
$(correspondingField).css({
"background-color": "green"
});
}
function redColor(button) {
var correspondingField=document.getElementById(button.data('html'));
$(correspondingField).css({
"background-color": "red"
});
}
解决方案
你是这个意思吗?
$('[type="radio"][name="status"]').on('change', event => {
$(event.target).closest('tr').css('background-color', $(event.target).val() == 'approve' ? 'green' : 'red')
});
td {width:150px;text-align:center}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<thead>
<tr>
<th>Name</th><th>Lastname</th><th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>Kevin</td><td>Spacey</td><td><input type="radio" value="approve" name="status">approve</input><input type="radio" value="reject" name="status">reject</input></td>
</tr>
<td>Nicolas</td><td>Cage</td><td><input type="radio" value="approve" name="status">approve</input><input type="radio" value="reject" name="status">reject</input></td>
</tr>
<td>Robert</td><td>Downey</td><td><input type="radio" value="approve" name="status">approve</input><input type="radio" value="reject" name="status">reject</input></td>
</tr>
<td>Chris</td><td>Evans</td><td><input type="radio" value="approve" name="status">approve</input><input type="radio" value="reject" name="status">reject</input></td>
</tr>
</tbody>
</table>
推荐阅读
- c++ - 在 cpp 中使用带有 std::vector 的字符串长度对字符串数组进行排序
- wso2 - 在 WSO2 中,我无法将图像存储在属性中
- android - 每小时间隔的 GoogleFit 未知 activityId
- reactjs - React Router v5: 404 直接使用 url 或在不同于“/”的路由上刷新页面
- java - 在 Powermockito 中如何模拟特定扩展名的文件?
- telegram - 应该使用什么方法和运算符来让机器人在重新发布时用另一个词替换一个词?
- python - 连接字符串作为python中的变量
- java - JsonObject 在 API 响应中返回 {"empty":false}
- amazon-web-services - AWS IOT多设备同时连接问题
- javascript - 无法获取数据并将其显示在视图错误对象中