00:00
那行了,咱们接着再往下看吧,复选框的全选跟取消全选,各位咱这个做一下啊,考这个也行,都行啊,反正现在没定啊,没定复选框的全选和取消全选,这个咱这个说这个话是有目的的啊,就是让你们昨天晚上狂练啊,就这意思,只要你们练了那就妥了啊,你们就上当了啊,复选框的全选和取消全选啊,就这个题目不定啊,不是说确定就是啥啥啥的啊,我这个不能给你敲定啊,来,Type Check box,我先写出来啊,Input type类型是什么呢?Check box name呢,我们就叫做爱好啊,然后value这块我们写上,比如说叫smoke啊,抽烟,对,再来几个啊,对,喝酒烫头。来喝酒这一块就是drink呗,Drink啊,烫头就是烫头啊,行,非常之简单啊,换行换行。
01:14
接下来呢,把它运行起来。运行起来之后呢,我要做的是什么呢?就是全选,我一点它全选上。啊来有控制台啊,我一点全选,再点取消,懂什么意思吧,那怎么写呢。我觉得关键是思路啊,关键是思路。我们点的是这个框对吧?所以必须得给这个框加一个鼠标,单击on click,所以这块ID肯定得有first check得了啊,然后接下来这个代码呢,顺着写就行,Script开始结束,然后写上text加script,然后下来加上一个window.onload的这个老规矩方写上,然后接下来我们在这个方程当中怎么写啊,我们首先要获取这个元素吧,对,document.get element by idd就是它,你拿到这个first check,拿到了这个复选框之后,你需要给这个复选框点什么?On click,然后function写上,写上一个函数,来,我们来测试一下。
02:27
把这个呢,我们再刷新一下,刷新之后我们点一下。走了吧,走了,那证明现在你说这个程序没问题,走到这只要我一点就执行了,我们的思路是先获取什么?第一个复选框的选中状态肯定是这样,也就是第一个打对勾,后边都打对勾,第一个要没有打对勾,后边都不打对勾,就这意思,关键看你第一个打不打对勾吧,所以我们现在是不是第一个框,是不是应该在这儿获取第一个复选框的选中状态啊好,第一个复选框是一个什么对象,复选框对象是一个check box对象吧,Check box对象找帮助文档还是这个啊,这个do加不是再走一遍啊,你看我老是点哪啊,我点的是有规律的啊,点速是谁,诶这边do谁do什么参考又点到这,然后谁在往上找谁,你有form对象对吗?是不是有form对象,你就有一个check box对象,看见了吗?点过去check box,你看check box里边有那个属性。
03:32
嗯。这叫属性,是方法吗?不是,这个属性叫check设置,有两个作用,设置或者什么返回check box是否被选中,对吧,这个结果它的是,它的结果是true和什么false,那显然true应该是选中,False应该是取消选中吧,所以这块呢,应该是alert,谁弹一下,弹一下谁把这个first check点什么check给他往外弹一下。
04:02
对不对,所以接下来呢,我们再来一次,这边呢,我们点上出。False。看见了吗?好,那我问你这一块是不是应该给它改成if啊,如果这样怎么做,Else怎么做,这个是不是全选,这是不是取消全选。对吧。对啊,你下边都是都是为真的话,不就全选不这个能不这个思路能看懂吗?先拿第一个给第一个复选框绑定鼠标单击思路就在这儿,你点它点来点去,你点它就触发鼠标单击鼠标单击一触发,你在这儿先获取它第一个复选框的选状态,如果为数全都为触,如果为false,全都是false。
05:02
对不对,那你这个全选这块就应该把下边这些复选框都拿到,一二三都拿到,你拿到下边这些复选框怎么拿,你拿下边这些复选框怎么拿,有没有name,有name可以根据name来拿,各位叫根据什么name获取所有元素,我们这是第一次用啊,叫get。S。能看明白吗?也就是说这个name是不是可以直接放到这,这样的话反馈的肯定是一个集合或者是数组,因为你这个name都一样,我返回的不是多个元素吗?返回多个元素我在这里能不能对它进行循环,For I等于零,I小于点I加加,每循环一次,我从这个数组当中取下边为I的元素,好,各位,这个循环是不是就可以取出这个数组当中的其中一个元素,这个元素是不是就check box,然后点什么就行?Check等于true。
06:25
把这段代码直接拿过来,放到这儿,把它改成什么就行。不知道。全权举全权。啊来,那这个呢,咱们就直接把这个运行一下子,我们点一下走。是吧,可以吧,哎,但是你点它,你看上面应该取消掉啊。你这个不完善呀,对不对,你你看你看你现在只能点这个呀。
07:00
好,再说了,这个代码你能给我简化一下吗?这个代码。有没有必要这样去写,写一大堆?对对对对对对,听懂了吗?听懂来,拿过来。拿过来啊,循环这个位置直接写什么。强迫症啊,强迫症,对不起,心里不舒服。对,我有这个强迫症。强了很多年了。嗯。
08:02
没对齐啊。啥啥情况,这是。这个是谁啊,还去哪,你还要去哪,这个是不是一个第一个第一个框,第一个方on click呗。那这个代码是不是也可以,哦,不行,别别别别别合到一块了,合到一块下面就还获取了,当们点get BYD哈,然后这是一个数组吧,对它进行循环,循环的过程当中这个是true还是false,那就看你第一个分向框是true还是false,你如果第一个复向框是true,那这个地方就是true啊。如果这个为true的话,你是不是所有都是选中啊,第一个负向框如果为false,那这个位置是不是就是false,所以这个直接这样写就行。
09:09
代码优化吗?是不是你优化成这样就行了,你上面你看你写的是不是写两个方循环又加个if语句吧,搞了半天这个地方的值是随着这走的,这个为true,这就是处。这个为放,这个就是放。那你写一个就行了吧,对不对,你写这个就可以了,好,那这个过关了,各位啊,过关了再往下我们要干啥。下。接下来我们需不需要给它加鼠标,单击鼠标单击鼠标单击每一个框是不是都得加鼠标单击给每个框加鼠标单击可以在这个地方加一个on click,然后再加一个什么on click,但是我们大家这样写起来是不是代码?太复杂。因为你都不知道这个复选框它到底是多少个,它除了烫头还有别的爱好啊,你每一个都得写on click,这样是不是不行啊?所以于是乎我们想到了什么循环。
10:13
我们可以把这个都拿到吗?既然都能拿到它,是不是就可以提到外边。对不对,提到外边,接下来我们对谁对以上数组进行电力,电力数组大家会啊好拿过来是这个吗。是不是这个好遍历数组,每遍历一次,是不是取出其中一个复选框,这个复选框点on click能看懂吗?等于什么function对吧?你这个是所有的框吧。页面加载完毕,你获取所有的复选框,这个位置是对这个所有的复选框进行遍历,每遍历一次,你给其中每一个复选框都绑这个回调函数嘛,那这样的话,我们就相当于下边这个就有有了啊,点它你看222,你再点下边这个也是222,你再点一次,还是222,你再点一次,也就是你每一次点它都执行。
11:19
对吧,所以这样的话,这个uncle是不是等于写了几次,一次你要写在下边,Uncle click uncle click,你就写N多次。能懂吧,好,那行了,各位在这干啥?你需要做一件什么事就行了。记下。他们。哎,这个同学说的很好,如果三个都选中,这句话说的啊,听清楚了啊,人家是这样说的。三个都选中。
12:00
这句话。很深奥呢。三个都选中,就意味着你的总量是三,你的被选中的数量是三三和三之间要画上等号,上边才打对勾,这是这句话的意思。我再说一遍啊。这个页面当中,你必须保证您的总量,要不要得到总量是几三,我们是不是还得做一个循环,循环去判断他被选中的是几个。总量如果是三,被选中的也恰好是三三与三如果画等号相等的情况下,把第一个对勾打上。不是这个核心的理念是啥,各位再说一下这个核心理念是啥?总数量和选中的数量怎么着,相等等的时候第一个复选框怎么着。
13:10
选中啊,那你总量怎么拿,你能拿吗。就是他呀。对吧,哎,那你这块拿一下总量吧。哦。吧,被选中你怎么统计出来默认值是零行吗?给个人值对。同学们注意看啊,这个外层有个for循环。这个的目的是为了干什么,给每个元素绑这个。
14:03
这个方循环只要给它绑上是不是就妥了?在这个回调函数里边,我们是不是还需要进行循环?这两个循环执行的时机一样,不一样执行的时间不同,这个方式循环在什么时候执行?页面加载完毕之后,执行回调函数这个for循环,是不是就执行这个for循环,执行是不是给这个元素给它绑上,但是这个函数执行不执行不执行这个函数什么时候执行,鼠标单击的时候,单击谁的时候,每一个复选框的时候,是不是才会执行这个函数,那这个回调函数在这里放循环,循环的是不是还是每个节点。循环这个节点的目的是拿这个节点中下标为I的这个复选框。它的。If,对吧?如果他check为true,你必须让外面的这个check count加加。
15:12
等这个for循环折腾完之后。对了,有一个问题啊,这个变量。得定义到这个里面吧。如果定义到外边会有什么问题,它这个变量会一直对它进行加加。除非你后来又归零了。所以我建议你把这个放到哪,放到这个回调函数里边,只要每一次回调函数一执行,它是不是都归零。佳佳吧,佳佳,在循环结束之后,如果说什么?
16:02
哦,要等于,等于什么。Check the count。成立怎么办?把first check.checked。短处。Else false吗?我们先这样写啊,一会可以改造点点点点点点点点再点。是吧,但你这个程序还是那句话,可以去给它更改,是不是这个代码只需要写一行就行。
17:10
对吧,等于等于check count。为true的时候是不是就选上。所以这代码呢,你要是写不了这么精炼,你下去之后就全写上。啊。只不过就可能不会给满分吧。对,你比如说你代码写成这样。这个题假如说是25分,我可能给你20分。你要是写成这样25分,对这个代码呢,你还得写的好一点啊。对吧,你不能这个代码写的很乱,格式我告诉你啊,我对格式要求很严格。功能出来的格式不好,我扣的比较多,对,因为我有强迫症知道吧,因为这个代码上我一看我就受不了。
18:10
功能能出来都是好的是吧,这个对自己要求有点低啊,对自己要求有点低,呃,这个肯定会给个辛苦分的感觉,最主要还是那个什么呀,最主要还是功能啊,对不对,你这格式。是很重要啊,但是呢,你你最主要还是功,功能没出来,你管啥用啊,好了这个过了啊。
我来说两句