2017-03-29 13 views
2

からブートストラップボタングループ内のクリックイベントをリッスンすることができません...私はVueJSベースのプロジェクトでは、次のブートストラップボタングループを持っているVueJS

<div class="btn-group btn-group-xs pull-right" data-toggle="buttons"> 
 
    <label class="btn btn-primary label-primary"> 
 
\t <input type="radio" name="options" id="option1" autocomplete="off" v-on:click="clearEntries"> A 
 
    </label> 
 
    <label class="btn btn-primary label-primary"> 
 
\t <input type="radio" name="options" id="option2" autocomplete="off" v-on:click="clearEntries"> B 
 
    </label> 
 
    <label class="btn btn-primary active label-primary"> 
 
\t <input type="radio" name="options" id="option3" autocomplete="off" checked v-on:click="clearEntries"> C 
 
    </label> 
 
    <label class="btn btn-primary label-primary"> 
 
\t <input type="radio" name="options" id="option4" autocomplete="off" v-on:click="clearEntries"> D 
 
    </label> 
 
</div>

私がしたいすべてのdoは、ラジオボタンの1つが選択/チェックされたときにメソッドを呼び出します。

ただし、クリックイベントは発生しません。私はそれがブートストラップCSSによって抑制されているかどうかはわかりません。

アイデア?

答えて

4

v-on:click="clearEntries"を入力せずにラベルに貼り付けます。

new Vue({ 
 
    el: "#app", 
 
    methods: { 
 
    clearEntries: function() { 
 
     alert('clearEntries !'); 
 
    } 
 
    } 
 
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.2.5/vue.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> 
 

 
<div id="app"> 
 
<div class="btn-group btn-group-xs pull-right" data-toggle="buttons"> 
 
    <label v-on:click="clearEntries" class="btn btn-primary label-primary"> 
 
\t <input type="radio" name="options" id="option1" autocomplete="off"> A 
 
    </label> 
 
    <label v-on:click="clearEntries" class="btn btn-primary label-primary"> 
 
\t <input type="radio" name="options" id="option2" autocomplete="off"> B 
 
    </label> 
 
    <label v-on:click="clearEntries" class="btn btn-primary active label-primary"> 
 
\t <input type="radio" name="options" id="option3" autocomplete="off" checked> C 
 
    </label> 
 
    <label v-on:click="clearEntries" class="btn btn-primary label-primary"> 
 
\t <input type="radio" name="options" id="option4" autocomplete="off"> D 
 
    </label> 
 
</div> 
 
</div>

関連する問題