在使用JQuery的选择中再次单击相同的选项

时间:2018-09-24 19:21:08

标签: javascript jquery html

我有下一个带有Select的代码:

http://jsfiddle.net/pdkg1mzo/18/

问题是尽管单击select的{​​{1}}是当前选择的option option,但我想每次单击都会启动警报

4 个答案:

答案 0 :(得分:1)

这可能有效:

$(function(){
    $(".normal").on("change",function(){
    	//alert("trigger");
      var selectedName = $('#selectId').find(":selected").text();
      console.log('selectedName is: ', selectedName)
      alert(selectedName)
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="normal" id="selectId">
    <option value="18">John</option>
    <option value="18">Lorry</option>
    <option value="19">Jerry</option>
    <option value="20">Smith</option>
</select>

您可以为警报添加半秒的延迟,以便在选择后显示名称:

$(function(){
    $(".normal").on("change",function(){
    	//alert("trigger");
      var selectedName = $('#selectId').find(":selected").text();
      console.log('selectedName is: ', selectedName)
      setTimeout(function () {
      //do something once
      alert(selectedName)
      }, 500);
      });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="normal" id="selectId">
    <option value="18">John</option>
    <option value="18">Lorry</option>
    <option value="19">Jerry</option>
    <option value="20">Smith</option>
</select>

答案 1 :(得分:0)

尝试一下

$(function(){
    $(".normal option").on("click",function(){
        alert("trigger");
    });
});

答案 2 :(得分:0)

尝试一下,

<select class="normal" name="mysel" onChange="show(this);">
<option value="18">John</option>
<option value="18">Lorry</option>
<option value="19">Jerry</option>
<option value="20">Smith</option>
</select>

纯javascript

<script>
function show(m){
var k=m.options[m.selectedIndex].value;
alert(k);
}
</script>

尝试一下,它非常有用。

答案 3 :(得分:0)

我认为您无法执行此操作,但是也许可以尝试选择:https://plugins.jquery.com/chosen/。 我不知道为什么要这样做,是否要重新加载页面,加载Ajax结果。也许这对于用户体验来说是不必要的,您根本不会改善它。