0

I have one dropdown box. I want to get that's value on very click on option or onchange. Example: If i select any value continously two times onebyone i am not getting the value fist time only i am getting.

how can i get value on every option click ?

js:

$("#ddrp1").on("change", function() {
 alert(this.value); 
});

HTML:

<select id="ddrp1">
<option value="">Select an option</option>
<option value="Option 1">Option 1</option>
<option value="Option 2">Option 2</option>
<option value="Option 3">Option 3</option>
<option value="Option 4">Option 4</option>
<option value="Option 5">Option 5</option>
</select>

JSfiddle:http://jsfiddle.net/LwwFL/309/

PRMoureu
  • 12,817
  • 6
  • 38
  • 48
SANSCLAW
  • 23
  • 1
  • 4
  • 15
  • 1
    What's wrong with your code? As I see into your fiddle, you get the value of option when it's changed. – Radonirina Maminiaina Apr 19 '18 at 08:57
  • 1
    `If i select any value continously two times onebyone i am not getting the value fist time only i am getting`, thats because when you select same option for second time, the `change` event wont be triggered because the option didnt change – Sudhir Bastakoti Apr 19 '18 at 08:58
  • Only one time changed..pls click again the same value..u will not get. check it – SANSCLAW Apr 19 '18 at 08:59
  • Sudhir Bastakoti:- u understood correctly. But i need the value second time also..how do it? bcoz every time i want to call some other event – SANSCLAW Apr 19 '18 at 09:02
  • 3
    Possible duplicate [Run change event for select even when same option is reselected](https://stackoverflow.com/questions/7742739/run-change-event-for-select-even-when-same-option-is-reselected) – Dean Apr 19 '18 at 09:02
  • Typically, what you need is the `$("#ddrp1 option").on("click", function() { });` handler. Yet, not all browsers fully support it, see here https://stackoverflow.com/questions/5749597/jquery-select-option-click-handler – Tasos K. Apr 19 '18 at 09:03
  • Thanks guys..I got idea – SANSCLAW Apr 19 '18 at 10:00

3 Answers3

0

try this,Its working for me

html:-

 <select id="ddrp1" class="form-control" onchange="DemoEvent(this.value)">
        <option value="">Select an option</option>
        <option value="Option 1">Option 1</option>
        <option value="Option 2">Option 2</option>
        <option value="Option 3">Option 3</option>
        <option value="Option 4">Option 4</option>
        <option value="Option 5">Option 5</option>
    </select>

javascript:-

 var array = [];
    function DemoEvent(val) {
        array.push(val);
        for (i = 0; array.length > i;i++){
            if (array[i] != val) {
                alert();
            }
        }        
    }
kalai
  • 187
  • 11
0

just change onchange to on click jsfiddle

<select id="ddrp1">
    <option value="">Select an option</option>
    <option value="Option 1">Option 1</option>
    <option value="Option 2">Option 2</option>
    <option value="Option 3">Option 3</option>
    <option value="Option 4">Option 4</option>
    <option value="Option 5">Option 5</option>
</select>

$("#ddrp1").click( function() {
   alert(this.value); 
});
Vijay Makwana
  • 911
  • 10
  • 24
0

This is your solution working also when select value is not changed (same option clicked):

$("#ddrp1").mouseup(function() {
    var isOpen = $(this).data("isopen");

    // only when mouseup event is called and select is still open
    if (isOpen) {
        alert($(this).val());
    }

    $(this).data("isopen", !isOpen);
});

JSFiddle: https://jsfiddle.net/benjib/q42tj0bw/