我想动态加载一个select带有来自AJAX调用的值,并允许用户在加载后选择列表中的第一个项目,并在它获得焦点后,现在,第一个项目是所选项目,当您单击时下拉并单击第一项没有任何反应.我无法添加任何无效选择的占位符项.
.change当重新选择/不更改当前选择的选项时,如何在jQuery中触发事件?
鉴于以下内容:
<select id="myoptions">
<option id="one" >Option 1</option>
<option id="two">Option 2</option>
</select>
Run Code Online (Sandbox Code Playgroud)
假设选择了该选项one,我点击下拉列表并再次选择 one,会触发什么事件?
$('#myoptions').change(function() {
alert('You selected something!');
}
Run Code Online (Sandbox Code Playgroud)
如果我选择不同的东西,上面的代码可以工作,但如果我选择当前选择的选项没有任何反应.
换一种说法 :
如果我点击下拉列表并"选择"当前选择的选项,我该如何才能触发事件?
所有这些有关的建议trigger都没有解决方案,我需要的东西触发,当我点击上Option 1 使用鼠标时,Option 1已经是所选的选项.
我尝试过使用.click,然后也没有任何反应.
这些答案都不是第一次选择下拉列表的用例的有效解决方案,并且有人选择默认的选定选项.什么都没发生.
focusout 不是解决方案,直到有人点击其他地方才会发生这种情况,这在游戏中已经太晚了.
以下是我的代码在Firefox中运行良好,但在chrome中没有.请告诉我如何解决这个问题.主要思想是根据选择框的选定值调用js函数:
<select onselect="question_type(this.value);" name="qtype" id="qtype" class="form-control input-lg" required>
<option value="">-- Select question type for this quiz --</option>
<option onclick="question_type(this.value);" value="mcq">1) MCQs</option>
<option onclick="question_type(this.value);" value="tf">2) True/False</option>
</select>
Run Code Online (Sandbox Code Playgroud)