Symfony ResetType:重置下拉选择

时间:2017-12-04 13:25:39

标签: javascript forms filter reset

我添加了一个"重置过滤器"按钮,它完美地做了它所承诺的,所以无论何时点击它,所有选定的过滤器都会被重置。 然而,有一件事情仍然困扰着我,让我记下用于过滤的下拉菜单。当在该下拉列表中选择了某些内容时,我点击了"重置"按钮,下拉列表仍显示所选值。只有在打开下拉列表时,我才会看到实际上没有选择任何内容。 issue 我添加了以下屏幕截图,以显示我的意思。这是我点击"重置过滤器"之后的情况。按钮,所以下拉列表的重置工作(没有选择值),但它仍然显示" BR"选择..如果我现在选择该下拉列表的另一个值(例如CA),然后应用过滤器(BR和CA)将被选中.. 所以我想,我需要一个ajax,在我点击"重置过滤器"后重新加载页面?还是有一个javascript处理重置?我有点失落。

顺便说一下。我正在使用bootstrap-multiselect.js进行下拉列表!

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

任何想法如何清除一切?

1 个答案:

答案 0 :(得分:0)

我终于找到了答案。

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

  <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');
});

希望它有所帮助!