【问题标题】:How to get selected value from drop down list in VueJs?如何从 VueJs 的下拉列表中获取选定的值?
【发布时间】:2021-02-21 02:29:57
【问题描述】:

我在这里有一个文本框和一个下拉列表。下拉列表和文本框事件有效。我的问题是如何在 keyup 事件中获取下拉列表的选定值?我有谷歌它。它看起来与普通的 javascript 方法不同。我尝试在选择标签中添加 v-model,但添加后,下拉列表不再起作用。

new Vue({
  el: "#app",
  data() {
    return {
      currency_from_amount: 0,
      currencyFromOptions: [],
      selected: ''
    };
  },
  methods: {
    convert: function(event) {
      debugger

    }
  },
  mounted() {
    axios
      .get("https://openexchangerates.org/api/currencies.json")
      .then(response => (this.currencyFromOptions = response.data))
      .catch(error => {
        console.log(error);
        
      })
      .finally(() => (this.loading = false));
  }
});
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.19.2/axios.min.js"></script>
<div id="app">
  <input class="form-control" type="number" name="currency_from_amount" id="currency_from_amount" v-model="currency_from_amount" @keyup="convert">

  <select class="form-control" name="currency_from_code" id="currency_from_code">
    <option v-for="(value,key) in currencyFromOptions" :value="key">{{ value }}</option>
  </select>
</div>

【问题讨论】:

  • 添加 v-model 以选择和使用该值
  • 你是什么意思ch。我尝试在选择标签中添加 v-model,但添加后,下拉列表不再有效 ?
  • 第一个选项的下拉列表为空。当我 console.log(selected) 时,它是空的
  • 但是当我在convert 方法中打印this.selected 时,我可以看到它的值,我已经绑定了选择
  • 没关系。我已经解决了。谢谢。

标签: vue.js


【解决方案1】:

要设置选定的变量,请添加如下更改处理程序

<select class="form-control" name="currency_from_code" id="currency_from_code" @change="onSelected($event)">

写一个方法如下

onSelected:function(event){
          this.selected = event.target.value;
        }

一旦你设置了这个变量,你就可以在 keyup 事件中使用它

【讨论】:

  • 它有效,但仅适用于下拉列表 onchange 事件。但是,对于文本框 keyup 事件,event.target.value 成为文本框值而不是下拉列表选定值。
  • @Steve 在文本框 keyup 事件中你必须使用这个变量 this.selected 而不是 event.target.value 来使用下拉列表的值
猜你喜欢
  • 2019-01-28
  • 1970-01-01
  • 2019-03-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多