html制作复选框,html自定义复选框

自定义复选框的素材:

icon-check-circle.png

0818b9ca8b590ca3270a3433284dd417.png

icon-checked.png

0818b9ca8b590ca3270a3433284dd417.png

checkbox.html(为了方便起见,这里使用到了jQuery)

自定义复选框checkbox

.checkbox {

cursor: pointer;

padding-left: 25px;

color: #000;

display: inline-block;

height: 18px;

line-height: 18px;

}

.cb-default {

background: url(icon-check-circle.png) left top no-repeat;

}

.cb-checked {

background: url(icon-checked.png) left top no-repeat;

}

Remember me

$('.checkbox').on('click', function() {

if($(this).hasClass('cb-default')) {

$(this).removeClass('cb-default').addClass('cb-checked');

} else {

$(this).removeClass('cb-checked').addClass('cb-default');

}

});

效果图如下:

未选中状态

0818b9ca8b590ca3270a3433284dd417.png

选中状态

0818b9ca8b590ca3270a3433284dd417.png

为提交表单时,考虑将复选框的内容进行提交,对上述的自定义复选框进行了如下改进:

自定义复选框checkbox

.checkbox {

cursor: pointer;

color: #000;

display: inline-block;

}

.checkbox span {

display: inline-block;

height: 18px;

line-height: 18px;

padding-left: 25px;

}

.cb-default {

background: url(icon-check-circle.png) left top no-repeat;

}

.cb-checked {

background: url(icon-checked.png) left top no-repeat;

}

Remember me

$('.checkbox').on('click', function() {

$span = $('.checkbox span');

var input = $('.checkbox input')[0];

if($span.hasClass('cb-default')) {

$span.removeClass('cb-default').addClass('cb-checked');

input.setAttribute('value', 1);

} else {

$span.removeClass('cb-checked').addClass('cb-default');

input.setAttribute('value', 0);

}

});

运行效果与之前的一致,不同的是加入的隐藏input,用于表单提交时提交数据,当提交的value为1时,表示复选框已被选中;当提交的value为0时,表示复选框未被选中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这个问题需要结合 HTML、CSS 和 JavaScript 来实现。我会分步骤给出代码实现,你可以在本地运行查看效果。 1. 制作表格 ```html <table id="mytable"> <thead> <tr> <th><input type="checkbox" id="check-all"></th> <th>姓名</th> <th>年龄</th> <th>性别</th> <th>操作</th> </tr> </thead> <tbody> <tr> <td><input type="checkbox" class="check-item"></td> <td>小明</td> <td>18</td> <td>男</td> <td><button class="delete-btn">删除</button></td> </tr> <tr> <td><input type="checkbox" class="check-item"></td> <td>小红</td> <td>20</td> <td>女</td> <td><button class="delete-btn">删除</button></td> </tr> <tr> <td><input type="checkbox" class="check-item"></td> <td>小张</td> <td>22</td> <td>男</td> <td><button class="delete-btn">删除</button></td> </tr> </tbody> </table> ``` 这里我们使用了 `table` 标签来制作表格,其中包含了表头和表身两部分。表头中有一个全选的复选框,每行的表身中有一个复选框和一个删除按钮。为了方便操作,我们为全选复选框和每个复选框都添加了 `id` 或 `class`。 2. 全选和取消全选 ```javascript var checkAll = document.getElementById("check-all"); var checkItems = document.getElementsByClassName("check-item"); checkAll.addEventListener("click", function() { for (var i = 0; i < checkItems.length; i++) { checkItems[i].checked = this.checked; } }); for (var i = 0; i < checkItems.length; i++) { checkItems[i].addEventListener("click", function() { var checkedCount = document.querySelectorAll(".check-item:checked").length; checkAll.checked = checkedCount === checkItems.length; }); } ``` 这里我们通过 JavaScript 获取到全选复选框和每个复选框,并为其添加了 `click` 事件。当点击全选复选框时,我们遍历每个复选框,将其选中状态设为全选复选框的选中状态。当点击每个复选框时,我们统计当前被选中的复选框数量,如果数量与总数量相等,则将全选复选框设为选中状态。 3. 改变表格背景色 ```css table:hover { background-color: #f5f5f5; } ``` 这里我们使用 CSS 的 `:hover` 伪类为表格添加鼠标移入时的背景色。 4. 删除操作 ```javascript var deleteBtns = document.getElementsByClassName("delete-btn"); for (var i = 0; i < deleteBtns.length; i++) { deleteBtns[i].addEventListener("click", function() { var row = this.parentNode.parentNode; var checkItem = row.querySelector(".check-item"); if (checkItem.checked || confirm("确定删除该行吗?")) { row.parentNode.removeChild(row); } else { return false; } }); } ``` 这里我们为每个删除按钮添加了 `click` 事件。当点击删除按钮时,我们获取到该行的节点 `row` 和对应的复选框 `checkItem`,判断复选框是否被选中,如果被选中或者用户确认删除,则将该行从表格中删除。如果复选框未被选中,则提示用户进行选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值