每一年都奔走在自己热爱里

没有人是一座孤岛,总有谁爱着你

点击文字同时选中checkbox

1. 问题描述

1. 在开发过程中很常用的会实现 记住密码 功能,实现点击文字的时候选中复选框

<div>
     <input type="checkbox" name="checkbox" />
     <label>记住密码</label>
</div>


2. 解决方法

2.1 只有一个复选框

1. 将 input 和 label 放在同一个div中同时lable的for属性的值等于input的id属性值就可以实现点击label同时控制input 

<div>
    <input type="checkbox" id="c2">
    <label for="c2">记住密码</label>
</div>
<div>
     <input id="checkboxId" style="vertical-align:middle" type="checkbox" name="checkbox" />
     <!--使用label的for属性,但要匹配上checkbox的id,实现联动-->
     <!--onselectstart禁止双击选中-->
     <label style="vertical-align:middle" for="checkboxId" onselectstart="return false">记住密码</label>
</div>

2. 如果出现 复选框 和 文字 不对齐,在复选框和文字同时添加样式即可

style="vertical-align:middle"

2.2 使用 v-for 有多个复选框

1.  把文字和checkbox包含在<label>标签内

<div v-for="(item, index) in list" :key="index">
    <label>
        <input class="checkbox-button" type="checkbox" :value="item" @click="checkData(item)">
        <span class="checkbox-span">{{ item.name }}</span>
    </label>
</div>

2. 添加样式

.checkbox-button {
    margin-right: 4px;
    vertical-align: middle;
}
.checkbox-span {
    vertical-align: middle;
}

 

posted @ 2022-09-02 11:14  helloliyh  阅读(1219)  评论(0编辑  收藏  举报