Javascript 重置存储的jQuery选项值
我正在使用一组选择框复合过滤器,在选择某些选项时禁用项目。我试图将它与同位素结合使用,作为禁用不可用组合的简单方法。除了脚本似乎存储了最后选择的组合之外,其他一切都很好 我使用了开发人员推荐的函数来重置同位素,我还重置了过滤器。它可以工作,过滤器选择框重置为默认的全部,选择框内的项目重新启用,同位素网格重置为显示所有项目。当我再次使用过滤器时,我选择的新项目将不再显示,就像以前选择的过滤器仍然处于启用状态一样 我做错了什么?除了刷新页面,我如何完全重置所有内容 注意,我在下面的例子中没有包括同位素Javascript 重置存储的jQuery选项值,javascript,jquery,html,jquery-isotope,Javascript,Jquery,Html,Jquery Isotope,我正在使用一组选择框复合过滤器,在选择某些选项时禁用项目。我试图将它与同位素结合使用,作为禁用不可用组合的简单方法。除了脚本似乎存储了最后选择的组合之外,其他一切都很好 我使用了开发人员推荐的函数来重置同位素,我还重置了过滤器。它可以工作,过滤器选择框重置为默认的全部,选择框内的项目重新启用,同位素网格重置为显示所有项目。当我再次使用过滤器时,我选择的新项目将不再显示,就像以前选择的过滤器仍然处于启用状态一样 我做错了什么?除了刷新页面,我如何完全重置所有内容 注意,我在下面的例子中没有包括同位
我希望这是有道理的。感谢您的帮助它似乎在这个JSFIDLE上工作正常,不是吗?@vicnoob是的,但是当我将它添加到我的脚本中时,它似乎没有释放存储的值。例如,我选择草莓、小、红色,然后单击重置。过滤器重置,网格重置,但当我从过滤器中选择新选项时,项目似乎仍处于选中状态。我单击pear,它什么也没显示,因为small和red仍然在后台工作。您可以将您的同位素脚本添加到JSFIDLE中吗?我可以尝试调试它。您没有提供选项集值。在JSFIDLE中添加您的all脚本,并为我们提供为您找到解决方案的链接
$(function() {
var $selects = $('select[name*="select"]').change(function(e) {
var val = this.value;
$selects.not(this).find('option').prop('disabled', function() {
return this.value === val || $(this).hasClass(val)
})
})
$('.button--reset').on( 'click', function() {
$('.grid').isotope({
filter: '*',
});
$('.option-set').val('*');
$selects.val('').find('option').prop('disabled', false)
});
});
<div class="">
<select name="select-type" id="select-type">
<option value="">All</option>
<option class="Small Medium Red Yellow" value="Apple">Apple</option>
<option class="Small Large Red Green" value="Pear">Pear</option>
<option class="Medium Large Green Yellow" value="Strawberry">Strawberry</option>
</select>
</div>
<div class="">
<select name="select-size" id="select-size">
<option value="">All</option>
<option class="Apple Pear Green Yellow" value="Small">Small</option>
<option class="Apple Strawberry Red Green" value="Medium">Medium</option>
<option class="Pear Strawberry Red Yellow" value="Large">Large</option>
</select>
</div>
<div class="">
<select name="select-color" id="select-color">
<option value="">All</option>
<option class="Apple Pear Medium Large" value="Red">Red</option>
<option class="Pear Strawberry Small Medium" value="Green">Green</option>
<option class="Apple Strawberry Small Large" value="Yellow">Yellow</option>
</select>
</div>
<button class="button button--reset">Reset</button>