2017-03-24 7 views
0

(Vue.JS 2):取得するe.target.value:カテゴリをクリックコンボボックスでカテゴリをクリックしたときにテキストを選択するにはどうすればよいですか?私はこのようなVUEコンポーネント持っ

<script> 
    export default{ 
     template: '\ 
      <select class="form-control" v-model="selected" v-on:change="search">\ 
       <option v-for="option in options" v-bind:value="option.id" v-bind:disabled="option.disabled">{{ option.name }}</option>\ 
      </select>', 
     mounted() { 
      this.fetchList(); 
     }, 
     data() { 
      return { 
       selected: '', 
       options: [{id: '', name: window.trans.category.select}] 
      }; 
     }, 
     methods: { 
      search(e){ 
       window.location = window.BaseUrl + '/search?q=&cat=' + e.target.value; 
      }, 
      fetchList: function() { 
       this.$http.post(window.BaseUrl+'/category/list?parent_id=all').then(function (response) { 
        response.data.forEach(function(item){ 
         this.options.push({id:item.id, name:item.name}) 
        }, this); 
       }); 
      }, 
     } 
    }; 
</script> 

が、私は上記の私のコードでは、カテゴリ

のテキストを取得したいが、私はこれを使用しますidが選択されて動作します

カテゴリをクリックすると、どのようにテキストを選択できますか?

私はこれを試してみてください:e.target.textが、idは動作しません

は私を助けることができる人はいますか?

+0

が変数にそれはありません: ''選択し、あなたは 'V-model'で使用していますか? – Saurabh

+0

@Saurabh、私はテキストを取りたいです。値なし。私が 'console.log(this.selected)'の場合、結果は値 –

+0

です。代わりに 'v-bind:value =" option.name "'を使ってみてください。 – Saurabh

答えて

0

はあなたが両方idnameをしたい考えると、あなたはこれを試すことができます。

template: '\ 
     <select class="form-control" v-on:change="search">\ 
      <option v-for="option in options" v-bind:value="option.id" @click="selected=option.name" v-bind:disabled="option.disabled">{{ option.name }}</option>\ 
     </select>', 
    mounted() { 
     this.fetchList(); 
    }, 
+0

どうすればいいですか?私は 'console.log(this.selected)'を試して、結果は値idです。テキストなし –

+0

動作しないようです。それは '' v-onを実行します:change = "search" '最初に' @ click'を呼び出す前に –

+0

何かエラーが出ますか?いくつかの訂正が提案されています[ここ](http://stackoverflow.com/questions/42991343/)コンボボックスvue-js-2)も同様に同様に選択することができる。 – Saurabh

関連する問題