我为此寻找解决方案,但找不到它。
我有一个简单的选择:
<select id="sltFiltroPedidos">
<option value="todos">Todos</option>
<option value="hoje">de hoje</option>
<option value="semana">da semana</option>
<option value="periodo">Período</option>
<option value="pedido">Número do pedido</option>
</select>
用户始终点击某个选项,必须触发javascript事件。 select中的onChange事件对我不起作用,因为用户可以选择相同的选项,并且也必须触发事件。
我在选项上尝试了onClick事件。它适用于IE和FF,但不适用于Chrome。 任何想法我该怎么做?
答案 0 :(得分:4)
我写了一段代码,但它不能用于IE,只需试一试:http://jsfiddle.net/shahe_masoyan/scuhb/1/
<select id="sltFiltroPedidos">
<option value="todos">Todos</option>
<option value="hoje">de hoje</option>
<option value="semana">da semana</option>
<option value="periodo">Período</option>
<option value="pedido">Número do pedido</option>
</select>
var isOpen = false;
$('#sltFiltroPedidos').on('mouseup', function () {
if (isOpen){
alert(this.value);
}
isOpen = !isOpen;
});
答案 1 :(得分:2)
根据您的问题,您可以执行以下操作: -
<select id="sel" onblur="showme()">
<option value="todos" >Todos</option>
<option value="hoje" >de hoje</option>
<option value="semana" >da semana</option>
<option value="periodo" >Período</option>
<option value="pedido" >Número do pedido</option>
</select>
但我不知道这个正确的选择。但这会像你说的那样奏效。
function showme()
{
alert(document.getElementById('sel').value);
}
答案 2 :(得分:0)
您可以尝试使用onclick
,
var prevValue=$('select').val();
$('select').on('click',function(){
if(prevValue==this.value) // code for same values
// your code to run
});
答案 3 :(得分:0)
我遇到了同样的问题。在我的任务中,我需要获取所选选项的值。这对我有帮助:
let selectedOption = "";
<select>.addEventListener("change", event => {
selectedOption = event.target.value
});
选择变量显然是标签。 看起来可能很奇怪,但是 select 会接受所选选项的值,这就是代码有效的原因。
答案 4 :(得分:-1)
使用:
$('#sltFiltroPedidos').on('change', function() {
alert( this.value );// or this.val()
});
希望这对你有用