如何使用jquery在每次点击时获得下拉框值

时间:2018-04-19 08:55:10

标签: javascript jquery html

我有一个下拉框。我希望在点击选项或onchange上获得该值。示例:如果我连续两次选择任何值,那么我只能得到第一次的值。

如何才能获得每个选项点击的价值?

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/

3 个答案:

答案 0 :(得分:0)

试试这个,它为我工作

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();
            }
        }        
    }

答案 1 :(得分:0)

只需将onchange更改为on 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); 
});

答案 2 :(得分:0)

当您的选择值未更改(单击相同选项)时,这也是您的解决方案:

$("#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/