将值发送到VueJS中的方法2

将值发送到VueJS中的方法2

问题描述:

如何在下面的代码中获得方法selectChange中的row.question_idoption.AnswerMasterID的值?我正在使用Vue.js v2。将值发送到VueJS中的方法2

<div v-if="row.answer_input_type === 'Dropdown'"> 
    <template v-for="answer in answers"> 
    <template v-if="answer.AnswerTypeID === row.answer_type_id"> 
     <select class="dropdown_cl" v-bind:disabled="row.is_enabled == 1 ? false : true" @change="selectChange(row.question_id, answer.AnswerDescription)"> 
     <option v-for="option in answer.AnswerDescription" v-bind:value="option.AnswerMasterID" >{{option.AnswerDescription}}</option> 
     </select> 
     <p v-for="option in answer.AnswerDescription">{{option.AnswerMasterID}}</p> 
    </template> 
    </template> 
</div> 

我的方法如下:

selectChange: function (question_id, ans_master_id) { 
    alert(question_id + " " + ans_master_id) 
}, 

我想要得到的option.AnswerMasterID的值,它是在内部循环。

+0

什么你到底是什么意思?由于您将2个参数传递给了'selectChange'方法,因此您应该允许您的方法接受它们,并在记录方法被触发时传递的数据。 –

+0

看起来没问题。有什么问题吗? – wostex

+0

我想要option.AnswerMasterID – sm12

使用v-model指令中选择元素的数据属性绑定到它:

<select class="dropdown_cl" v-model="selectedID" ... 

请务必添加selectedID的数据属性:

data() { 
    return { 
    selectedID: null, 
    } 
} 

既然你已经绑定option.AnswerMasterID作为每个选项的值,selectedID将被绑定到所选选项的AnswerMasterID

然后,您可以参考像这样的价值在您的selectChange方法:

selectChange: function (question_id) { 
    alert(question_id + " " + this.selectedID); 
}, 

Here is Vue's documentation for select input binding.

+0

这种工作,但我有不同的值,每个选择和每个的第一个选项值是不同的。所以如果我写选中:''和v-model =“selected”,那么我将变得空白,作为所有选择元素的选定元素。如何解决这个问题? – sm12

+0

@sagarmajumdar这听起来像一个不同的问题,我认为你已经发布了? – thanksd