テーブルのareaの使い方がちょっとおかしいみたいなので原文のままではありませんが
以下でどうでしょうか?
javascript
1
2$(function(){
3 $('#1-select,.checkbox-input,#3-select').on('change',function(){
4 var area=$('#1-select').val();
5 var city=[];
6 $('.checkbox-input:checked').each(function(){city.push($(this).val())});
7 var brand=$('#3-select').val();
8 if(area=="" && city.length==0 && brand==""){
9 $('#store-data table tr').show();
10 }else{
11 var tr=$('#store-data table tr').hide().filter(function(){
12 return area==""?true:$(this).has("."+area).length>0;
13 }).filter(function(){
14 return brand==""?true:$(this).has("."+brand).length>0;
15 }).filter(function(){
16 return city.length==0?true:$(this).has("."+city.join(",.")).length>0;
17 }).show();
18 }
19 }).eq(0).trigger('change');
20});
21
HTML
1<div id="search-bx">
2
3<select id="1-select" class="store-select" name="area">
4<option value="">地域から検索</option>
5<option value="1-area">1-地域</option>
6<option value="2-area">2-地域</option>
7<option value="3-area">3-地域</option>
8</select>
9
10<div id="2-checkbox">
11<label><input type="checkbox" class="checkbox-input" name="city" value="1-city">1-都市</label>
12<label><input type="checkbox" class="checkbox-input" name="city" value="2-city">2-都市</label>
13<label><input type="checkbox" class="checkbox-input" name="city" value="3-city">3-都市</label>
14</div>
15
16<select id="3-select" class="store-select" name="brand">
17<option value="">ブランド検索</option>
18<option value="1-brand">1-ブランド</option>
19<option value="2-brand">2-ブランド</option>
20<option value="3-brand">3-ブランド</option>
21</select>
22
23</div>
24
25<div id="store-data">
26<table>
27<thead>
28<tr class="active">
29<td>地域</td>
30<td>都市</td>
31<td>ブランド</td>
32</tr>
33</thead>
34<tbody>
35<tr>
36<td class="area"><span class="1-area">1-地域</span></td>
37<td class="city"><span class="1-city">1-都市</span></td>
38<td class="brand"><span class="1-brand">1-ブランド</span></td>
39</tr>
40<tr>
41<td class="area"><span class="1-area">1-地域</span></td>
42<td class="city"><span class="2-city">2-都市</span></td>
43<td class="brand"><span class="2-brand">2-ブランド</span></td>
44</tr>
45<tr>
46<td class="area"><span class="1-area">1-地域</span></td>
47<td class="city"><span class="3-city">3-都市</span></td>
48<td class="brand"><span class="3-brand">3-ブランド</span></td>
49</tr>
50</tbody>
51</table>
52</div>
クリアと該当なし
クリアと該当なしを付けるの忘れてました
javascript
1$(function(){
2 $('#1-select,.checkbox-input,#3-select').on('change',function(){
3 var area=$('#1-select').val();
4 var city=[];
5 $('.checkbox-input:checked').each(function(){city.push($(this).val())});
6 var brand=$('#3-select').val();
7 $('#err').remove();
8 if(area=="" && city.length==0 && brand==""){
9 $('#store-data table tr').show();
10 }else{
11 var tr=$('#store-data table tr').hide().filter(function(){
12 return area==""?true:$(this).has("."+area).length>0;
13 }).filter(function(){
14 return brand==""?true:$(this).has("."+brand).length>0;
15 }).filter(function(){
16 return city.length==0?true:$(this).has("."+city.join(",.")).length>0;
17 }).show();
18 if(tr.length==0){
19 $("#store-data table").after($('<div>').attr('id','err').text("該当なし"));
20 }
21 }
22 }).eq(0).trigger('change');
23 $('#reset').on('click',function(e){
24 $('#1-select').prop('selectedIndex',0);
25 $('.checkbox-input').prop('checked',false);
26 $('#3-select').prop('selectedIndex',0).trigger('change');
27 });
28});
HTML
1<div id="search-bx">
2<select id="1-select" class="store-select" name="area">
3<option value="">地域から検索</option>
4<option value="1-area">1-地域</option>
5<option value="2-area">2-地域</option>
6<option value="3-area">3-地域</option>
7</select>
8
9<div id="2-checkbox">
10<label><input type="checkbox" class="checkbox-input" name="city" value="1-city">1-都市</label>
11<label><input type="checkbox" class="checkbox-input" name="city" value="2-city">2-都市</label>
12<label><input type="checkbox" class="checkbox-input" name="city" value="3-city">3-都市</label>
13</div>
14
15<select id="3-select" class="store-select" name="brand">
16<option value="">ブランド検索</option>
17<option value="1-brand">1-ブランド</option>
18<option value="2-brand">2-ブランド</option>
19<option value="3-brand">3-ブランド</option>
20</select>
21
22<input type="button" id="reset" value="選択をクリアする">
23</div>
24
25<div id="store-data">
26<table>
27<thead>
28<tr class="active">
29<td>地域</td>
30<td>都市</td>
31<td>ブランド</td>
32</tr>
33</thead>
34<tbody>
35<tr>
36<td class="area"><span class="1-area">1-地域</span></td>
37<td class="city"><span class="1-city">1-都市</span></td>
38<td class="brand"><span class="1-brand">1-ブランド</span></td>
39</tr>
40<tr>
41<td class="area"><span class="1-area">1-地域</span></td>
42<td class="city"><span class="2-city">2-都市</span></td>
43<td class="brand"><span class="2-brand">2-ブランド</span></td>
44</tr>
45<tr>
46<td class="area"><span class="1-area">1-地域</span></td>
47<td class="city"><span class="3-city">3-都市</span></td>
48<td class="brand"><span class="3-brand">3-ブランド</span></td>
49</tr>
50</tbody>
51</table>
52</div>