1

2012年と2013年の日付セレクターがあります。選択に基づいて、特定のクラスの行のみを表示したいと思います。誰かが私がどこで間違っているのか教えてもらえますか?

jQuery

<script>
$(document).ready(function() {
$(".yr12 td").hide();

$('#selectYr').change(function () {
    var val = $(this).val();
    if (val == yr12) {
         $('.yr12 td').show();
         $('.yr13 td').hide();
    } else {
        $('.yr12 td').hide();
         $('.yr13 td').show();
    }
    });
});

html

<select id="selectYr">
    <option value="yr13">2013</option>
     <option value="yr12">2012</option>
   </select>
<br><br>

<table>
<tr>
<th>Date</th>
<th>Description</th>
</tr>
<tr class="yr13">
<td>February 2013 </td>
<td>Description 1</td>
</tr>
<tr>
<td class="yr13">January 2013</td>
<td>Description 2</td>
</tr>
<tr class="yr12">
<td>November 2012</td>
<td>Description 3</td>
</tr>
<tr class="yr12">
<td>December 2012</td>
<td>Description 4</td>
</tr>
</table>
4

3 に答える 3

5

文字列の前後に引用符がありません:

if (val == 'yr12') { }
//         ^    ^
于 2013-01-31T18:56:14.937 に答える
1

値'yr12'と比較する代わりに、valをyr12と呼ばれる別の変数と比較しようとしています。

正しいコードは次のとおりです。

$(document).ready(function() {
                $(".yr12 td").hide();

                $('#selectYr').change(function () {
                    var val = $(this).val();
                    if (val == 'yr12') {
                         $('.yr12 td').show();
                         $('.yr13 td').hide();
                    } else {
                        $('.yr12 td').hide();
                         $('.yr13 td').show();
                    }
                    });
                });
于 2013-01-31T18:59:33.803 に答える
1

二つのこと..

1 ->

 <tr>
<td class="yr13">January 2013</td>

する必要があります

<tr class="yr13">
<td>January 2013</td>

2-->

if (val == "yr12") {
于 2013-01-31T19:03:07.043 に答える