javascript dropdown基于值隐藏/显示表行

时间:2013-11-07 18:36:01

标签: javascript html

我正在学习代码,但其任务是创建一个表,当用户从多个下拉列表中选择时,无论用户选择什么,都会显示在表中。 (未选择的行被隐藏)

我想将代码放入一个新的html文件中并运行它。 (我的测试是将其剪切并粘贴到txt文档中,然后将名称更改为html进行测试)我可以为其他类型的脚本执行此操作,但出于某种原因,我似乎无法运行此脚本。

<script language="javascript"> 
 $(document).ready(function () {
        $('select.ddlFilterTableRow').bind('change', function () {
            $('select.ddlFilterTableRow').attr('disabled', 'disabled');
           $('#tableRegisterKids').find('.Row').hide();
            var critriaAttribute = '';

            $('select.ddlFilterTableRow').each(function () {
                if ($(this).val() != '0') {
                    critriaAttribute += '[data-' + $(this).data('attribute') + '="' + $(this).val() + '"]';
                }
            });

            $('#tableRegisterKids').find('.Row' + critriaAttribute).show();
            $('#headerCount').html($('table#tableRegisterKids tr.Row:visible').length + ' Registered Kids');
            $('select.ddlFilterTableRow').removeAttr('disabled');
        });
    });</script>



<select id="ddlAge" class="ddlFilterTableRow" data-attribute="age">
    <option value="0">Select All</option>
    <option value="10">10</option>
    <option value="8">8</option>
    <option value="6">6</option>
</select>
<select id="ddlSport" class="ddlFilterTableRow" data-attribute="sports">
    <option value="0">Select All</option>
    <option value="Foot Ball">Foot Ball</option>
    <option value="Chess">Chess</option>
    <option value="Cricket">Cricket</option>
    <option value="Bowling">Bowling</option>
</select>
<h1 id="headerCount"></h1>
<table id="tableRegisterKids">
    <tr>
        <th>Fullname</th>
        <th>Age</th>
        <th>Sport</th>
    </tr>
    <tr class="Row" data-age="10" data-sports="Foot Ball">
        <td>Thulasi Ram.S</td>
        <td>10</td>
        <td>Foot Ball</td>
    </tr>
    <tr class="Row" data-age="8" data-sports="Cricket">
        <td>Ram</td>
        <td>8</td>
        <td>Cricket</td>
    </tr>
    <tr class="Row" data-age="6" data-sports="Chess">
        <td>Ram Kumar.S</td>
        <td>6</td>
        <td>Chess</td>
    </tr>
    <tr class="Row" data-age="8" data-sports="Bowling">
        <td>Dinesh Kumar.S</td>
        <td>8</td>
        <td>Bowling</td>
    </tr>
    <tr class="Row" data-age="6" data-sports="Bowling">
        <td>Raja Ram.S</td>
        <td>6</td>
        <td>Bowling</td>
    </tr>
    <tr class="Row" data-age="10" data-sports="Chess">

1 个答案:

答案 0 :(得分:0)

当您将代码复制并粘贴到文本文件中时,是否包含jQuery?代码在这里运行良好。 http://jsfiddle.net/zLPMV/

您需要确保将jQuery包含在您的网页中,一个简单的测试就是从Google资源中获取它。将此行代码添加到脚本标记上方的文本文件中。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

P.S您是自己编写此代码还是只是将其用作资源并试图让它运行?