<td><input type="checkbox" class="table-check"></td>,如何让其变为单选
时间: 2023-10-23 10:10:57 浏览: 158
将 `type="checkbox"` 改为 `type="radio"` 即可将其变为单选。同时,如果你希望同一组单选框只能选择一个,需要将它们的 `name` 属性设置为相同的值。例如:
```
<td><input type="radio" name="myRadio"></td>
<td><input type="radio" name="myRadio"></td>
<td><input type="radio" name="myRadio"></td>
```
这样,这三个单选框就属于同一组,用户只能选择其中的一个。
相关问题
代码生成:1.三列五排表格,第一排分别为全选复选框,姓名,出生日期;第二排分别为单选框,张文,1969-1-1;第三排分别为单选框,张武,1969-1-1;第四排分别为单选框,张双,1969-1-1;第五排分别为单选框,张全,1969-1-1; 2.点击全选复选框时,全选下面四个复选框,再点全选复选框时取消全选; 3.当鼠标进入表格和离开表格时,改变表格背景色,颜色自定义; 4.点击删除按钮时,判断是否有复选框被选中,如果没有复选框被选中则提示用户进行选择,否则确认删除,并从表格中删除相应行。
以下是 JavaScript 代码实现:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>表格操作</title>
<style>
table {
width: 100%;
border-collapse: collapse;
}
th, td {
padding: 8px;
border: 1px solid black;
text-align: center;
}
.selected {
background-color: yellow;
}
</style>
</head>
<body>
<table id="myTable">
<tr>
<th><input type="checkbox" id="checkAll" onclick="selectAll()"></th>
<th>姓名</th>
<th>出生日期</th>
</tr>
<tr>
<td><input type="checkbox" class="checkbox"></td>
<td>张文</td>
<td>1969-1-1</td>
</tr>
<tr>
<td><input type="checkbox" class="checkbox"></td>
<td>张武</td>
<td>1969-1-1</td>
</tr>
<tr>
<td><input type="checkbox" class="checkbox"></td>
<td>张双</td>
<td>1969-1-1</td>
</tr>
<tr>
<td><input type="checkbox" class="checkbox"></td>
<td>张全</td>
<td>1969-1-1</td>
</tr>
</table>
<button onclick="deleteRows()">删除选中行</button>
<script>
var table = document.getElementById("myTable");
var checkboxes = document.getElementsByClassName("checkbox");
// 全选/取消全选
function selectAll() {
for (var i = 0; i < checkboxes.length; i++) {
checkboxes[i].checked = document.getElementById("checkAll").checked;
}
}
// 表格背景色变化
table.onmouseover = function() {
table.classList.add("selected");
};
table.onmouseout = function() {
table.classList.remove("selected");
};
// 删除选中行
function deleteRows() {
var numChecked = 0;
for (var i = 0; i < checkboxes.length; i++) {
if (checkboxes[i].checked) {
numChecked++;
table.deleteRow(i + 1);
i--;
}
}
if (numChecked === 0) {
alert("请选择要删除的行!");
}
}
</script>
</body>
</html>
```
以上代码实现了所需的功能:
1. 创建了一个三列五排的表格,第一排为全选复选框,姓名,出生日期,后面四排为不同的单选框;
2. 点击全选复选框时,全选下面四个复选框,再次点击全选复选框时取消全选;
3. 当鼠标进入表格和离开表格时,改变表格背景色,颜色为黄色;
4. 点击删除按钮时,判断是否有复选框被选中,如果没有则提示用户进行选择,否则确认删除,并从表格中删除相应行。
layui静态表格复选框实现单选功能
在 layui 静态表格中,可以通过监听复选框的选中事件,来实现单选功能。具体实现步骤如下:
1. 在页面中定义数据表格,并设置其复选框列的 lay-skin 属性为 primary,表示使用原始风格的复选框。同时,设置表格的 lay-filter 属性为 demo,用于后续的事件监听。
```html
<table class="layui-table" lay-filter="demo">
<thead>
<tr>
<th><input type="checkbox" name="" lay-skin="primary" lay-filter="allChoose"></th>
<th>ID</th>
<th>姓名</th>
<th>性别</th>
<th>城市</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox" name="" lay-skin="primary"></td>
<td>1</td>
<td>小明</td>
<td>男</td>
<td>北京</td>
</tr>
<tr>
<td><input type="checkbox" name="" lay-skin="primary"></td>
<td>2</td>
<td>小红</td>
<td>女</td>
<td>上海</td>
</tr>
<!-- ... -->
</tbody>
</table>
```
2. 在 JavaScript 代码中,监听表格的复选框选中事件,并在事件处理函数中,根据选中状态来判断是否需要取消其他行的选中状态。
```javascript
layui.use(['table', 'jquery'], function(){
var table = layui.table;
var $ = layui.jquery;
// 监听表格复选框选择
table.on('checkbox(demo)', function(obj){
var checkStatus = table.checkStatus('demo');
var data = checkStatus.data;
var isChecked = obj.checked;
var rowIndex = obj.data.LAY_TABLE_INDEX;
if (isChecked) {
// 如果选中,则取消其他行的选中状态
for (var i = 0; i < data.length; i++) {
if (data[i].LAY_TABLE_INDEX != rowIndex) {
table.checkStatus('demo').data[i].LAY_CHECKED = false;
}
}
}
});
});
```
在上述代码中,我们使用 layui 的 table 模块监听表格的复选框选中事件,并在事件处理函数中,根据选中状态来判断是否需要取消其他行的选中状态。这样,就可以实现静态表格复选框的单选功能了。
阅读全文