我正在尝试将代码中选择的值传递给按钮的click事件。但是我无法在点击功能中获取数据。请参阅下面的代码。 我在警报中变得不确定。 请帮忙。
<div class=“form-group”>
<div class=“form-group” align=“center”>
<label for=“select-Year”>Select CMS Fiscal Year :</label>
<select class=“form-control input-sm” style=“width:120px” id=“select-Year”>
<option v-for=“yr in years” value=“yr”>{{ yr }}</option>
</select>
</div>
<br/><br/>
<div class=“form-group” style=“align:center”>
<button id=“btnSubmit” class=“btn btn-primary” style=“align:center” v-on:click=“loadData(yr, $event)”>Open</button>
</div>
</div>
methods: {
`loadData`: function(yr, event){
alert(yr);
}
}
答案 0 :(得分:1)
yr
变量仅在您使用option
时在v-for
范围内存在。
这就是为什么当您尝试将其传递到button
范围之外的v-for
的事件处理程序时会导致错误的原因。
如何获得所选选项?
一种选择year
的方法是在组件year
属性下声明一个data
变量,并在select
字段上使用v-model
指令形成双向绑定。
data: function() {
return {
year: null
}
}
在您的选择和按钮标签中,
<select class=“form-control input-sm” style=“width:120px” id=“select-Year” v-model="year">
<option v-for=“yr in years” value=“yr”>{{ yr }}</option>
</select>
<button id=“btnSubmit” class=“btn btn-primary” style=“align:center” v-on:click=“loadData($event)”>Open</button>
通过这种方式,您可以访问year
中的loadData
,
loadData(event) {
console.log(this.year, event);
}
答案 1 :(得分:0)
我尝试为您执行此操作,请转到页面并查看<https://jsfiddle.net/Lr3psu2y/>
。
希望对您有帮助。