如下所示:
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中設置一個值為''的數據。
希望對還不熟悉的同學有所幫助。
以上這篇vue .js綁定checkbox并獲取、改變選中狀態的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答