我有一组选项,但是不出所料,列表中的第一个选项不会触发更改事件调用。我想知道如何在不做手动trigger()
的情况下启动它。
$('select').on('change', function(e) {
console.log($(e.target).val());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
答案 0 :(得分:1)
由于您提到由于选择会将用户带到新位置,因此无法在页面加载时触发它,这意味着您只能做两件事。
首先是在顶部添加一个选择选项,以便用户必须选择一些东西。这样,更改事件将触发,因为他们必须选择非默认值。
<option value="">Pick your favorite cheese</option>
或您的部分选项是使用blur
而不是change
。使用模糊的问题在于,用户必须从焦点上移开焦点才能触发。