Я создаю очень простую систему фильтрации, в которой я хочу иметь html-флажки, которые могут отображать и скрывать элементы определенных категорий.
Проблема в том, что флажки остаются отмеченными, несмотря ни на что.
Пример для jsfiddle: http://jsfiddle.net/Jmnwr/
HTML:
<ul id="filters">
<li><input type="checkbox" checked="checked" value="categorya" id="filter-categorya" /><label for="filter-categorya">Category A</label></li>
<li><input type="checkbox" checked="checked" value="categoryb" id="filter-categoryb" /><label for="filter-categoryb">Category B</label></li>
</ul>
<div class="categorya"></div>
<div class="categorya"></div>
<div class="categorya"></div>
<div class="categorya"></div>
<div class="categoryb"></div>
<div class="categoryb"></div>
<div class="categoryb"></div>
JS:
$("#filter-categorya").toggle(
function() {
$('.categorya').stop().fadeTo('slow', 0.2);
$('#filter-categorya').removeAttr('checked');
}, function() {
$('.categorya').stop().fadeTo('slow', 1.0);
$('#filter-categorya').attr('checked', 'checked');
});
$("#filter-categoryb").toggle(
function() {
$('.categoryb').stop().fadeTo('slow', 0.2);
$('#filter-categoryb').removeAttr('checked');
}, function() {
$('.categoryb').stop().fadeTo('slow', 1.0);
$('#filter-categoryb').attr('checked', 'checked');
});
Я видел два сообщения по этой теме, но не уверен, что они полностью связаны или почему мой код, в частности, не работает. Я также пытался использовать функцию предотвращать ошибки, но она ничего не делала:
Невозможно контролировать статус флажка - jquery
Почему .attr («проверено», «проверено») не установлено?
Любая помощь всегда ценится,
Спасибо!