下拉 pre-select 不触发 onchange

dropdown pre-select without fireing onchange

这是我的 .item.active.selected 的预选,但不幸的是它也触发了 onChange。还有别的办法吗?

$(function() {
  $.each($(".ui.dropdown"), function(i, dropdown) {
    selected_value = $(dropdown).find(".item.selected").data("value");
    $(dropdown).dropdown("set selected", selected_value);
  });

});

是的,您可以改为设置值和文本。

所以,

$(function() {
  $.each($(".ui.dropdown"), function(i, dropdown) {
    var val = $(dropdown).find(".item.active").data("value");
    var text = $(dropdown).find(".item.active").html();

    $(dropdown)
        .dropdown("set value", val)
        .dropdown("set text", text);
  });

});

但为什么要这样做?

您可以通过以下方式预select一个值:

  1. 在基于 div 的下拉列表中的 <input type="hidden" value="my_val" /> 字段中设置一个值
  2. 为基于 select 的下拉菜单向 option 添加 selected 属性