私はselect2 v.3.5.1を使用しています。複数のアイテムを選択する必要があります。私は、shift
キーを使って複数のアイテムを選択することは可能でしょうか?私はmultiple select
を持っていたくない場合は、shift
キーを押しながらいくつかのオプションを選択してください。コードスニペットは大変ありがとうございます。「シフト」キーを使用して複数のアイテムを選択
1
A
答えて
0
ctrlキーを押して実行できます。 とにかく他のプログラムのリスト内の個々の項目を選択している場合は、デフォルトのキーが押されます。
0
私が正しく理解している場合の回答可能な解決策をに基づいてすることができます。
- は
- あなたの選択にデータ-maxitemを追加するときたわごとキーを検出するために、委任イベントリスナーを追加イベントがDIV に結果を書き終わり
- を防止しなければならない場合SELECT2-選択テストに
- を選択
$(document).on('keyup keydown', ".select2-drop-active", function (e) {
console.log('shift: ' + e.shiftKey);
if (e.shiftKey) {
$("#mySelect1").attr('multiple', 'multiple');
} else {
$("#mySelect1").removeAttr('multiple');
}
})
$("#mySelect1").select2()
.on('select2-selecting', function (e) {
var maxItem = $('#mySelect1').data('maxitem');
var shiftKey = $("#mySelect1").attr('multiple') == 'multiple';
var seletedOpt = $('.select2-drop-active .mySelected').length;
console.log('maxItem: ' + maxItem + ' shiftKey: ' + shiftKey + ' seletedOpt: ' + seletedOpt);
if (shiftKey && seletedOpt < maxItem) {
$('.select2-drop-active .select2-highlighted').addClass('mySelected');
if ($('.select2-drop-active .mySelected').length >= maxItem) {
$("#mySelect1").removeAttr('multiple');
var selectedOption = $('.select2-drop-active .mySelected').map(function (idx, ele) {
return ele.textContent;
}).get().join(' ');
setTimeout(function() {
$('.select2-container a span:first').text(selectedOption);
}, 100, selectedOption);
} else {
e.preventDefault();
}
} else {
$("#mySelect1").removeAttr('multiple');
}
});
.mySelected {
background: #3875d7;
color: #fff;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://rawgit.com/cdnjs/cdnjs/master/ajax/libs/select2/3.5.1/select2.min.css" rel="stylesheet"/>
<script src="https://rawgit.com/cdnjs/cdnjs/master/ajax/libs/select2/3.5.1/select2.min.js"></script>
<select id="mySelect1" data-maxitem="2" style="width: 100%;">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
関連する問題
- 1. HTML複数選択ボックス、jQueryを使用して複数のアイテムを選択
- 2. Elixirのマップから複数のキーを使用して複数のアイテムを選択
- 3. jqを使用した複数のjsonキーの選択
- 4. キーを使用したGoJSアイテム(ノード)選択
- 5. ListViewから複数のアイテムを選択
- 6. Material-ui List複数のアイテムを選択
- 7. シフトを使用して複数のチェックボックスを選択し、角度2でクリックする方法
- 8. BigQuery複数のキー値を選択
- 9. 選択したチェックボックスを使用してAngularJSの複数選択チェックボックスをドロップ
- 10. vb.net複数のチェックボックスを選択するためのシフト方法
- 11. listView複数のアイテムを選択しています
- 12. 複数選択リストボックスで選択したアイテムの数をJavaScriptでカウントする
- 13. Wordpress Usermeta複数のキーと値を選択して
- 14. 複数の列に選択を使用
- 15. MYSQLの複数の基準を使用してSUMを選択
- 16. VBSを使用してHTAで複数選択要素オプションを選択する
- 17. jqueryを使用して複数のチェックボックスを選択する
- 18. reduxを使用して複数のプラットフォームを選択
- 19. SQLite IDを使用して複数の行を選択する
- 20. チェックボックスを使用してテーブルから複数の行を選択
- 21. jqGridRenderを使用して複数の行を選択する
- 22. Swift 3 UIImagePickerControllerを使用して複数の写真を選択
- 23. JFileChooserを使用して複数のファイルを一度に選択
- 24. VBAコードを使用してスプレッドシートで複数のタブを選択
- 25. 複数の角度のスキーマフォームを使用して選択
- 26. PHPを使用して選択ボックスの選択されたキー/値を取得
- 27. UITableView複数選択、あらかじめ選択されたアイテム
- 28. AppleScriptを使用してデスクトップ上のアイテムを選択/クリックする
- 29. 複数の場所を使用してFirebaseデータベースから選択
- 30. OrientDb - グラフを使用して複数の頂点から選択