我的情况如下:选择元素的事件侦听器没有改变值
我有一个选择框,有几个选项。其中的一个选项,可以在页面加载由后端预选:
<select name="select" class="js-choice-select">
<option value="option-1">Option 1</option>
<option value="option-2" selected="selected">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>
每当这个选择元件改变值,需触发一些JS代码。所以,在这种情况下使用jQuery我添加以下代码:
$(".js-choice-select").on("change", function() {
var selectedValue = $(this).val();
doSomething(selectedValue);
});
问题
现在,当用户打开的选择框,但不会选择比已经选择的选项任何其他值,默认的'change'事件监听器不会触发,但是我的doSomething函数需要被触发。
有没有人知道一个可行和直接的解决方案呢?
您可以使用'.trigger('change')' – Satpal
执行期望的操作默认值doSomething函数不需要在页面加载时触发,但在选择框被使用的时刻改变或不)。 –
整蛊,看看这个小提琴,可能会有所帮助:http://jsfiddle.net/4959gLxq/ –