为什么 Javascript 事件与实际用户事件不同?

Why do Javascript events differ from actual user events?

为什么 Javascript 事件与实际用户事件不同?我正在尝试从 javascript.

更新 select2 输入

如果我使用...

$('#s2id_autogen12').val("Single").trigger("input");

...to select 来自 select2 输入的值 "single",值似乎发生了变化(尽管 "none" 仍然可见),但是事件实际上并没有触发,下拉菜单看起来好像用户正在执行操作(在输入框下方延伸,就好像它们在 selection 的中间并冻结在那里)。

Select2 似乎过于冗长和复杂。我删除了一堆 Angular 以使生成的 HTML 结构更容易在下面查看。

Select2 input/select

我尝试添加...

$('[Name="IO:4d4240604f235600d70f4c111310c728"]').val("Single").trigger("change");
$('[Name="IO:4d4240604f235600d70f4c111310c728"]')[0][1].selected=true;

...但我根本无法让 Select2 以编程方式更新。有什么想法吗?

您发布了代码的屏幕截图而不是实际代码。

不过,您的问题似乎是一个拼写错误。 "Single" 应该是 "single".

尝试以下操作:

$('[Name="IO:4d4240604f235600d70f4c111310c728"]').val('single').trigger('change');

注意小写 single;