当前位置:主页 > 网页前端 > vue >

vue .js绑定checkbox并获取、改变选中状态的实例

时间:2021-02-08 09:30:21 | 栏目:vue | 点击:

如下所示:

1.html

<div class="weui-cells weui-cells_checkbox font14" v-for="item in items">
   <label class="weui-cell weui-check__label">
    <div class="weui-cell__ft width-inherit">
     <input type="checkbox" class="weui-check" v-on:click="CheckItem(item)" v-model="item.state" name="checkbox" />
    </div>
   </label>
  </div>

2.js

var vum = new Vue({
 data:{
  items:[]
 }
 methods:{
  CheckItem:function(item){
   item.state = !item.state;
   console.log(this.items);
  }
 }
})

拓展知识:浅谈vue复选框选中的值的问题

如下所示:

<p>
 <input type="checkbox" id="m_nh3" v-model="mFormData.bd_3" v-bind:true-value="3" v-bind::false-value="checkFalseValue">
 <label for="m_nh4">不含3</label>
</p>
<p>
 <input type="checkbox" id="m_nh4" v-model="mFormData.bd_4" v-bind:true-value="4" v-bind::false-value="checkFalseValue">
 <label for="m_nh4">不含4</label>
</p>
<p>
 <input type="checkbox" id="m_nh5" v-model="mFormData.bd_5" v-bind:true-value="5" v-bind::false-value="checkFalseValue">
 <label for="m_nh4">不含5</label>
</p>
<p>
 <input type="checkbox" id="m_nh7" v-model="mFormData.bd_7" v-bind:true-value="7" v-bind::false-value="checkFalseValue">
 <label for="m_nh7">不含7</label>
</p>

最近遇到vue项目中form表单复选框的问题,拿出来分享下,

因为vue没有直接像jqury中的serialize()那样,直接获取表单数据的方法,

为了简单,使用v-model的方法与data数据中的mFormData对象相互绑定,这样在获取表单数据的时候,直接用this.mFormData就可以获取表单数据,

但是在获取checkbox的值得时候,如果不做处理,选中的时候对象中的值为true,没选中的时候值是false,

可能跟我们需要传入后台的数据不符,当然可以在传参的时候对值进行判断修改,但这无形中增加了很多麻烦,

因此,可以使用v-bind:true-value='x'、v-bind:false-value='x'的方法,直接让复选框选中的时候,对象中的值直接是我们想要的数值,

需要注意的是,经常再设置未选中的时候是个空值,如果直接v-bind:false-value=''这样对象中的值还是false,

可以在data中设置一个值为''的数据。

希望对还不熟悉的同学有所帮助。

您可能感兴趣的文章:

相关文章