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');
});
希望对您有所帮助!
我添加了一个 "Reset Filter" 按钮,它完美地实现了它的承诺,因此无论何时单击它,所有 selected 过滤器都会被重置。
然而,有一件事仍然困扰着我,关于我用于过滤的下拉菜单。当在该下拉列表中输入 select 并且我点击 "reset" 按钮时,下拉列表仍显示 selected 值。只有当打开下拉菜单时,我才发现实际上什么都没有 selected。
顺便说一句。我正在为该下拉菜单使用 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');
});
希望对您有所帮助!