Reputation: 83
I have a dropdown menu in my web page. I already used x.change(y);
to do some thing when the selected item changes. But I want to call a function when the user selecting the same selected item.
Here is my HTML code.
<select class="dropdown dateFilter" id="month" data-live-search="true" name="month">
<option value="">Month</option>
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
and related js:
$('#month').change(function () {
//Do some things
});
Upvotes: 2
Views: 966
Reputation: 11
I preferred to use onclick. Give it a try maybe it will help you
document.querySelector("select.dropdown").onclick = (event)=>{
if(event.clientX == 0 && event.clientY == 0){
value = event.target.value;
console.log("selected "+value)
}
}
<select class="dropdown dateFilter" id="month" data-live-search="true" name="month">
<option value="">Month</option>
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
Upvotes: 0
Reputation: 2104
You can make a click
event on select option
and can cross check clicked option and selected dropdown value as below:
$(document).ready(function(){
$('[name=month] option').click(function() {
if ($(this).attr('value') == $("#month").val()) {
// user clicked on selected option
} else {
// user clicked on another option
}
});
});
Your HTML code as:
<select class="dropdown dateFilter" id="month" data-live-search="true" name="month">
<option value="">Month</option>
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
Hope it helps you.
Upvotes: -1