Symfony ResetType:重置下拉选择

Symfony ResetType: reset dropdown selection

我添加了一个 "Reset Filter" 按钮,它完美地实现了它的承诺,因此无论何时单击它,所有 selected 过滤器都会被重置。 然而,有一件事仍然困扰着我,关于我用于过滤的下拉菜单。当在该下拉列表中输入 select 并且我点击 "reset" 按钮时,下拉列表仍显示 selected 值。只有当打开下拉菜单时,我才发现实际上什么都没有 selected。 我添加了以下屏幕截图,以显示我的意思。这就是我点击 "Reset filter" 按钮后的情况,因此下拉菜单的重置有效(没有值是 selected)但它仍然显示 "BR" 为 selected..如果我现在 select 该下拉列表的另一个值(例如 CA)然后应用过滤器(BR 和 CA)将被 selected.. 所以我的想法是,我需要一个 ajax 在我单击 "Reset filter" 后重新加载页面?或者是否有 javascript 正在处理重置?我有点迷路了。

顺便说一句。我正在为该下拉菜单使用 bootstrap-multiselect.js!

      $('#document_filter_markets').multiselect({
    enableCaseInsensitiveFiltering: true, includeSelectAllOption: true, nonSelectedText: 'Select Markets',
    maxHeight: 200
  });

知道如何清除所有内容吗?

我终于自己找到了答案。

我添加了一个重置​​按钮:

  <input type="reset" id="resetter" class="btn-primary btn btn-xs" value="Reset All"/>

然后向该按钮添加一些 javascript 以取消选中所有内容,然后刷新下拉列表:

    $("#resetter").click(function () {      
    $('option', $('#document_filter_markets')).each(function(element) {
    $(this).removeAttr('selected').prop('selected', false);
      });
      $("#document_filter_markets").multiselect('refresh');
});

希望对您有所帮助!