Ich habe solche Optionen
<select name="hall" id="hall">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
Ich verwende die jquery-Funktion, um mein Formular zu senden
$('#hall').change(
Wenn jedoch derselbe Wert erneut ausgewählt wird, soll er ausgelöst werden. Wie kann ich das machen?
7
Anil Kumar
11 Aug. 2015 im 09:17
4 Antworten
Beste Antwort
Mach es auf Klick
$('#hall').on('click',function(){
if(this.selectedIndex == -1) {
alert('select one answer');
}
else
// do whatever you want!
});
2
Psylogic
11 Aug. 2015 im 06:58
Sie können wie folgt vorgehen:
$("#hall option").on('click',function(){
$("#hall").trigger('change');
});
$("#hall").on('change',function(){
alert('changed');
});
Hinweis: Laut Kommentar hier funktioniert dies gut in FF, jedoch nicht in Chrome. Sie können es auf eigenes Risiko verwenden.
2
Community
23 Mai 2017 im 11:58
Versuche dies:
var prevVal;
$('#hall').on('focus', function (){
prevVal=$( "#hall:selected" ).text();
});
$('#hall').on('change', function (){
if(prevVal=$( "#hall:selected" ).text()){
alert('same val selected');
}
});
2
dpanshu
11 Aug. 2015 im 06:25
Die @ Vibhesh Kaul-Lösung funktionierte für mich unter Windows, aber nicht für meinen Kunden, der auf einem Mac arbeitet.
Das ist meine Lösung:
var previous_value = '';
$(document).on('click', 'select#hall', function () {
// click on select
if(previous_value == '') {
previous_value = $(this).val();
}
// click on option, check if same value is chosen
else if($(this).val() == previous_value) {
// trigger a change
$(this).trigger('change');
}
});
$(document).on('blur', 'select#hall', function () {
// reset the previous value of the select
previous_value = '';
});
$(document).on('change', 'select#hall', function () {
alert('test example');
});
0
roverv
23 Mai 2018 im 09:34