문제

모든 것이 시작된 곳 : 필터에 대해 이미 한 가지 질문을했습니다. 기존 값 세트의 jQuery 또는 JS를 사용한 필터 결과

문제 :
데이터가 다른 페이지에서 form post, 모든 값은 처음에는 볼 수 있어야합니다 ... 따라서 사용자는 해당 데이터를 거치게 할 수 있으며 필요한 경우 필터를 사용하여 요구 사항을 정렬 할 수있는 권한이 있습니다.

내가 기차 청각처럼 느끼게하는 것은 무엇입니까?페이지의 값 (필터링 될)은 기본적으로 표시되고 사용자가 class="tv", 그 외 모든 것들 div classes 포함하지 않는 tv 숨겨야합니다

내가 어디에 붙어 있습니까 ???
나는 논리적으로 정확하다고 생각한 jQuery를 해결하려고 노력했지만 결과는 그렇지 않다고 믿게 만들었습니다.

이전 질문의 문제
나의 이전 질문은 필터링에 도움이되었지만 데이터는 hide() 기본적으로 ... 반전이 필요했습니다 ....

노력과 바이올린 ??
깡깡이 : http://jsfiddle.net/logintomyk/r6g3k/1/

HTML

<!-- filter checkboxes -->
    <input type="checkbox" id="wm" class="a" />WM
    <input type="checkbox" id="tv" class="a" />tv
    <input type="checkbox" id="ac" class="a" />ac
    <input type="checkbox" id="terrace" class="a" />terrace


    <br> <hr><br>

   <!-- Results to be filtered -->
    <div class="wm field">WM</div>
    <div class="tv field">TV</div>
    <div class="ac field">ac</div>
    <div class="terrace field">terrace</div>
    <div class="wm tv field">WM TV</div>
    <div class="wm tv ac field">wm tv ac</div>
    <div class="wm terrace field">wm terrace</div>
    <div class="tv field">tv</div>
    <div class="tv ac field">tv ac</div>

내 멍청이 jQuery

$(document).ready(function () {
     $('.field').show(); // to show values by default


    $(".a").change(function () {
        $('div').hide(); //hide before displaying
        $(':checkbox:not(:checked)').each(function() {
            $("." + this.id).hide(); //hide unchecked filter values
        });
    }).change();
}); 
도움이 되었습니까?

해결책

이것은 더 쉬울 수 있습니다

var puts = $('.a');//get checkboxes
var cans = $('.field');//get content
puts.on('change', function() {//when checkbox changes
    if (!puts.filter(':checked').length) {//if nothing's checked
        cans.show();//show it all
    } else {//if something's checked
        cans.hide();//hide all
        puts.filter(':checked').each(function() {//get checked
            $('.'+this.id+':hidden').show();//show if hidden
        });  
    }
});

바이올린을 만들었습니다. http://jsfiddle.net/filever10/f8vk2/

고장

puts 확인란입니다

cans 콘텐츠 블록입니다

확인란 상태가 변경되면 현재 아무것도 확인되지 않으면 모든 것이 표시됩니다. 무언가를 확인하면 모든 컨텐츠 블록을 숨기고 id 확인 된 상자의. 숨겨진 것들만 보여 주므로 여러 개의 확인 된 상자에 적용되는 컨텐츠 블록에서 여러 번 표시 할 필요가 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top