2017-04-18 9 views
0

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

? 'selectChange'メソッドに2つのパラメータを渡したので、あなたのメソッドにそれらを受け入れるようにしてください ' selectChange(id、desc){console.log(id、desc)} ''メソッドを起動すると渡されるデータを記録します。 –

+0

何についての質問ですか? – wostex

+0

私はoption.AnswerMasterID – sm12

答えて

1

それにデータプロパティをバインドするために、select要素に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 - モデル= "選択"を書く場合、私はすべての選択要素の選択要素として空白になっています。これを解決するには? – sm12

+0

@sagarmajumdarこれは別の質問のように聞こえますが、あなたは既に投稿していると思いますか? – thanksd

関連する問題