オプションが既に選択されていても、選択ボックスのオプションにヒットしたときにイベントを取得しようとしています。原因は、リストに値を追加したいのですが、複数回追加する可能性があります。同じオプションを再度選択した場合、どのようにイベントを発生させることができますか?
今はdog
を追加してからcat
を追加してdog
とすることができます。だから私のリストに私が
を持っている。しかし、ので、私のリストは、次のようになり、cat
直後cat
を追加することはできません。
$(function() {
//Initialize Select2 Elements
$(".select2").select2();
});
$(document).ready(function() {
$(".select2").on("change", function() {
var classname = $(".select2 option:selected").val();
$(".result").append("<li>" + classname + "</li>");
});
});
<link href="https://select2.github.io/dist/css/select2.min.css" rel="stylesheet"/>
<link href="https://select2.github.io/css/bootstrap.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://select2.github.io/vendor/js/bootstrap.min.js"></script>
<script src="https://select2.github.io/dist/js/select2.full.js"></script>
<div class="form-group">
<select class=" form-control select2" style="width: 100%;">
<option>Cat</option>
<option>Dog</option>
<option>Bird</option>
</select>
</div>
<div class="result"></div>
はEDIT: 私は私のために働いた解決策を見つけた:
$(function() {
//Initialize Select2 Elements
$(".select2").select2();
});
$(document).ready(function() {
$(".select2").on("change", function() {
var classname = $(".select2 option:selected").val();
$(".result").append("<li>" + classname + "</li>");
var should_be_selected = 'empty';
$(".select2 option:selected").removeAttr("selected");
$('.select2').find('.' + should_be_selected).attr('selected', 'selected');
});
});
<link href="https://select2.github.io/dist/css/select2.min.css" rel="stylesheet"/>
<link href="https://select2.github.io/css/bootstrap.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://select2.github.io/vendor/js/bootstrap.min.js"></script>
<script src="https://select2.github.io/dist/js/select2.full.js"></script>
<div class="form-group">
<select class=" form-control select2" style="width: 100%;">
<option class="empty"></option>
<option>Cat</option>
<option>Dog</option>
<option>Bird</option>
</select>
</div>
<div class="result"></div>
を '選択の隣のボタンを追加します。 'ボタンをクリックすると、選択した値をリストに追加します –
selectタグの変更を使用しています!オプションではありません!したがって、あなたの関数は、値を変更したときだけトリガします!初めて「cat」を選択してみてください! –
良いアイデア!私も変更を選択した後にすべてのオプションの選択を解除することを考えました – Jarla