2017-05-05 94 views
0

我无法获取复选框的值。动态值复选框Vuejs 2

<li v-for="mainCat in mainCategories"> 
    <input type="checkbox" :value="mainCat.merchantId" v-model="mainCategories.merchantId" id="mainCat.merchantId" @click="merchantCategoryId"> 
</li> 

我的方法:

methods: {  
    merchantCategoryId: function() { 
    console.log(this.mainCategories.merchantId) 
    } 
} 

当点击我只得到真假为取消选中。 TY

回答

5
<div id="demo" > 
    <ul> 
    <li v-for="mainCat in mainCategories"> 
     <input type="checkbox" :value="mainCat.merchantId" id="mainCat.merchantId" v-model="checkedCategories" @click="check($event)"> {{mainCat.merchantId}} 
    </li> 
    </ul> 
    {{ checkedCategories }} 
</div> 

而在你的脚本:

var demo = new Vue({ 
    el: '#demo', 
    data: { 
    checkedCategories: [], 
    mainCategories: [{ 
     merchantId: '1' 
     }, { 
     merchantId: '2' 
     }] 
    }, 
    methods: { 
    check: function(e) { 
     if (e.target.checked) { 
     console.log(e.target.value) 
     } 
    } 
    } 
}) 

检查:https://vuejs.org/v2/guide/forms.html#Checkbox

工作小提琴:http://jsfiddle.net/yMv7y/2585/

+0

这是我mainCategories的值从数据库中来了,我展示它通过v-for。 @click的目的是触发一个方法并获取所选复选框的值。 TY为您的答复。 – Rbex

+0

但是这可以在没有@click的情况下实现。 – Deepak

+0

我需要通过点击来实现它,因为我会将该ID发送回数据库。 – Rbex