<div v-for="item in items"> <label> <div> <input type="checkbox" v-on:click="CheckItem(item)" v-model="item.state" /> </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" 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" 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" 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" 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中设置一个值为''的数据。
希望对还不熟悉的同学有所帮助。
以上这篇vue .js绑定checkbox并获取、改变选中状态的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章: