html5 css js 前端开发

用户自定义多选框checkbox

末鹿安然 提交于 2019-11-29 21:50:37
在实际项目开发中,浏览器自带的checkbox样式以及选择项是远远无法满足需求的,在实际项目中,需求往往可能是这样:被设计好样式的checkbox以及多选项只能保持两个或其他不超过某个固定数。那样,我们就必须重写自带checkbox的样式和选择逻辑了。 对于样式,网上已经有很多样板了,但是原理都是相通的,就是: 隐藏真实的input:checkbox,用label代替,点击label指向隐藏的input,然后直接改写label的样式就好了 。 改写label样式: 改写完成后的多选框: 当然,这是比较简单的样式修改,只是简单去掉了多选框前面的勾勾框,如果想要复杂好看的样式,可以去网上搜集,原理都是一样。 然后,我们就要对其选择逻辑进行修改了,浏览器自带的多选框仅支持选择0个以上,无法自由控制上限以及下限数,现在我们通过改写它的默认选择逻辑来完成这样一个需求: 多选框只能多选两个,并且最低必须选择一个 。 直接上代码: 其实核心原理就是: 将选择的多选框放进数组,取消的元素从数组里面去掉,通过限制数组里的数量来 指定多选框的最大选择数和最小选择数量 。 来源: oschina 链接: https://my.oschina.net/u/2912429/blog/805039