Muszę wybrać tylko 3 opcje z wielokrotnego wyboru. Jeśli użytkownik wybierze więcej niż 3 opcje, ostatni wybrany element powinien zostać zastąpiony przez nowy kliknięty.Usuń ostatni zaznaczony element z wielokrotnego wyboru, jeśli użytkownik wybierze więcej niż 3 opcję, używając jquery
Mam przykład w następujący sposób:
<select multiple id='testbox'>
<option value='1'>First Option</option>
<option value='2'>Second Option</option>
<option value='3'>Third Option</option>
<option value='4'>Fourth Option</option>
<option value='5'>Fifth Option</option>
<option value='6'>Sixth Option</option>
<option value='7'>Seventh Option</option>
<option value='8'>Eighth Option</option>
<option value='9'>Ninth Option</option>
<option value='10'>Tenth Option</option>
</select>
Gdy użytkownik wybierze
First option
Second option
Third option
Teraz osiągnie limitu max wyboru 3 .Jeżeli on kliknąć na innej opcji jak Dziesiątego Opcji muszę usunąć Trzecią opcję i uzyskać wybraną Dziesiąta opcja
Do tego próbowałem tego, ale nie wiem, jak mogę osiągnąć mój cel
<script type="text/javascript">
google.load("jquery", "1");
$(document).ready(function() {
//alert("1111");
var last_valid_selection = null;
$('#testbox').change(function(event) {
if ($(this).val().length > 2) {
alert('You can only choose 2!');
$(this).val(last_valid_selection);
} else {
last_valid_selection = $(this).val();
latest_value = $("option:selected:last",this).val()
alert(latest_value);
}
});
});
</script>
Proszę zaproponować jakiś pomysł lub rozwiązanie.
ten nie działa, jeśli kolejność wyboru nie jest liczbowo sekwencyjny. Na przykład wybierz "ósmy, dziewiąty, drugi, pierwszy" lub "trzeci, siódmy, pierwszy, ósmy". – DevlshOne
Po prostu myślałem, że OP chce, aby opcja, która była poniżej czwartego zaznaczona, pozostała niezaznaczona. – tymeJV
Jeśli odczytam go poprawnie, chce, aby czwarty wybór zastąpił trzeci wybór, niezależnie od wartości liczbowej. – DevlshOne