Ich benutze Select2 v.3.5.1 und müssen mehrere Elemente auswählen. Ich frage mich, ist es möglich, mehrere Elemente mit shift
Schlüssel auszuwählen? Ich möchte keine multiple select
haben, wählen Sie einfach ein paar Optionen, während Sie shift
Schlüssel halten. Ein Code-Snippet wird sehr geschätzt.Wählen Sie mehrere Elemente mit "Shift" -Taste
1
A
Antwort
0
Sie können es tun, indem Sie die STRG-Taste gedrückt halten. Dies ist die Standardtaste, die gedrückt werden soll, wenn Sie in einer Liste in anderen Programmen trotzdem einzelne Elemente auswählen.
0
Wenn ich das richtig verstanden, die Antwort eine mögliche Lösung auf Basis werden können:
- fügen Sie ein Daten maxitem zu Ihrem wählen
- einen delegierten Ereignis-Listener hinzufügen, um die Scheiße Schlüssel zu erkennen, wenn Auswählen
- auf select2-Auswahl Tests, ob das Ereignis
- am Ende schreibt das Ergebnis in die div verhindert werden muss
$(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>
Verwandte Themen
- 1. iPhone UIKeyboardTypeNamePhonePad mit Shift-Taste
- 2. Wählen Sie Mehrere Elemente in XML
- 3. SHIFT-Taste aktivieren
- 4. Wählen Sie mehrere Elemente aus einer Liste
- 5. wählen Sie mehrere Elemente in jquery
- 6. Wie wählen Sie mehrere Elemente aus einer Listbox asp.net ohne Drücken der STRG-Taste mit Javascript?
- 7. iPhone-Tastatur Shift-Taste deaktiviert
- 8. Wählen Sie die Elemente programmatisch in UICollectionView
- 9. nur Elemente Wählen Sie
- 10. Wählen Sie Kalender-Taste mit Selen-Webdriver
- 11. Wie kann ich dem Benutzer erlauben, mit der CheckedListBox über die 'Shift'-Taste zu überprüfen?
- 12. Multiple File mit Shift + laden Alle wählen Funktionalität
- 13. Wählen Sie mehrere mit Hintergrundbild
- 14. So wählen Sie mehrere Elemente aus der Liste
- 15. wählen Sie mehrere Elemente in asp.net Listbox aus Code
- 16. Wählen Sie Elemente mit nth-Kind()
- 17. Python Keydown-Kombinationen (Strg + Taste oder Shift + Taste)
- 18. Wählen Sie mehrere Kombination (Matlab)
- 19. Überprüfen Sie Strg/Shift/Alt-Taste auf 'Klick' Ereignis
- 20. Prüfen, ob die Shift-Taste gedrückt wurde
- 21. wählen Sie mehrere Optionen
- 22. Modifier-Taste nicht für Shift-Taste in C# WPF kommen
- 23. machen Geschwindigkeit 5, wenn Shift-Taste
- 24. So wählen Sie bestimmte Elemente in Liquid
- 25. Android-Taste wählen und drücken Sie ausziehbare
- 26. Wählen Sie mehrere Spalten mit Entity Framework
- 27. Wählen Sie mehrere Spalten mit Dekodieren
- 28. Wählen Sie mehrere Optionen standardmäßig mit object_select_tag
- 29. wählen Sie mehrere Spalten mit unterschiedlichen Bedingungen
- 30. Auswahl mehrerer Tabellenzeilen mit Shift-Taste und Steuerschlüssel funktioniert nicht