点餐选择口味的html,JS实现点餐自动选择框(案例分析)

效果图:

c9747501da1ea6ade4c44c141cd7959d.gif

1. 目标需求(一共两个):

1.点击上方全选/全不选选择框,实现对应功能

2.点击下方选择框,如果所有选择框同时被选中,则上方全选框自动变成勾选状态,否则是非勾选状态

2.思路分析:

1.实现上面选择框全选全不选功能,添加上面的鼠标点击事件,让下方所有选择框跟上方一样就行

2.下方选择框在点击时,使用开关思想来检查是否是全部都选择的状态

3.js实现步骤:

上方全选/全不选选择框,实现步骤

1.获取元素

var chkAll=document.getElementById('checkAll');

var chkList=document.getElementsByName('check');

2.实现上方选择框全选/全不选功能

chkAll.οnclick=function ( ) {

for(var i=0;i

chkList[i].checked=this.checked;

}

}

3.下方选择框点击

开关思想:当一个操作的结果只有两种状态,就可以使用布尔类型来表示这两种状态 isAllOk = true(全部选中)

1.提出假设 isAllOk = true

2.验证假设

3.根据验证结果来实现需求

//3.1遍历下方按钮,检查下方按钮的点击事件

for(var i=0;i

chkList[i].οnclick=function ( ) {

var isAllChecked=true;//假设全部都是选中状态

for(var j=0;j

if(chkList[j].checked==false){

isAllChecked=false;

}

}

//检测完毕之后,根据开关的值来设置上方选择框的状态

if(isAllChecked==true){

chkAll.checked=true;

}

else {

chkAll.checked=false;

}

}

}

最后附上完整的代码:

Title

* {

margin: 0;

padding: 0;

}

table {

border: 1px solid #c0c0c0;

margin: 100px auto;

/*margin两个值代表上下,左右*/

text-align: center;

width: 500px;

border-collapse: collapse;

/*边框合并,如果相邻,则共用一个边框*/

}

th{

font:bold 15px "微软雅黑";

background-color: #09c;

color: #fff;

height: 24px;

}

td {

border: 1px solid #d0d0d0;

color: #404060;

padding: 15px;

}

全选/全不选

菜名商家价格红烧肉隆江猪脚饭¥200香酥排骨隆江猪脚饭¥998北京烤鸭隆江猪脚饭¥88

//1.获取界面对应元素

var chkAll=document.getElementById('checkAll');

var chkList=document.getElementsByName('check');

//2.实现上方选择框全选/全不选功能

chkAll.οnclick=function ( ) {

for(var i=0;i

chkList[i].checked=this.checked;

}

}

//3.实现下方选择功能

//3.1遍历下方按钮,检查下方按钮的点击事件

for(var i=0;i

chkList[i].οnclick=function ( ) {

var isAllChecked=true;//假设全部都是选中状态

for(var j=0;j

if(chkList[j].checked==false){

isAllChecked=false;

}

}

//检测完毕之后,根据开关的值来设置上方选择框的状态,下面也可以简写为 checkAll.checked = isAllChecked;

if(isAllChecked==true){

chkAll.checked=true;

}

else {

chkAll.checked=false;

}

}

}

总结

以上所述是小编给大家介绍的JS实现点餐自动选择框,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值