问题

change()事件处理程序中的逻辑在 val()设置时不会运行,但是当用户选择一个值他们的老鼠.为什么是这样?

<select id="single">
    <option>Single</option>
    <option>Single2</option>
</select>

<script>
    $(function() {
        $(":input#single").change(function() {
           /* Logic here does not execute when val() is used */
        });
    });

    $("#single").val("Single2");
</script>


解决方法

因为更改事件需要由用户发起的实际浏览器事件,而不是通过JavaScript代码.

改为:

$("#single").val("Single2").change();



相关问题推荐