我有一个下拉框。我希望在点击选项或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/
答案 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);
});