Один js скрипт несколько select

256
16 января 2018, 14:52

Есть таблица:

<table name="TableCar" align="center">
    <h3 align="center">Учет комплектаций в автосалоне</h3>
    <thead>
        <tr>
            <th>Тип авто.</th>
            <th>Модель</th>
            <th>Тип кузова</th>
            <th>Комплектация</th>
            <th>Тип привода</th>
            <th>Коробка пер.</th>
        </tr>
    </thead>
    <tbody>
        @foreach (var item in Model)
        {
            <tr idtrans="@item.idTrans", idcompl="@item.idCompl">
                <td>
                    @Html.DisplayFor(modelview => item.nameTypeCar)
                </td>
                <td>
                    @Html.DisplayFor(modelview => item.nameModel)
                </td>
                <td>
                    @Html.DisplayFor(modelview => item.nameBodyType)
                </td>
                <td align="center">
                    @Html.DisplayFor(modelview => item.nameComplectation)
                </td>
                <td>
                    @Html.DisplayFor(modelview => item.nameDrive)
                </td>
                <td>
                    @Html.DisplayFor(modelview => item.nameTransmission)
                </td>
            </tr>
        }
    </tbody>
</table>

Есть два выпадающих списка, которые выступают в роли фильтров:

1.

 <select name="filter" target="TableCar">
    <option value="0">Все</option>
    @foreach(MyCourseProject.Models.transmission i in ViewBag.car)
    {
        <option value="@i.id">@i.name_transmission</option>
    }  
</select>

2.

<select name="filterС" target="TableCar">
    <option value="0">Все</option>
    @foreach (MyCourseProject.Models.complectation i in ViewBag.trans)
    {
        <option value="@i.id">@i.name_complectation</option>
    }
</select>

А так же JavaScript, с помощью которого осуществляется фильтрация:

$(document).ready(function () {
    $('select[name=filter]').change(function () {
        var element = $(this);
        var targetName = element.attr('target');
        var selectedId = element.val();
        var tableBody = $('[name=' + targetName + ']').find('tbody');
        tableBody.find('tr').show();
        if (selectedId != 0) {
            var rowsToHide = tableBody.find('tr[idtrans!=' + selectedId + ']');
            rowsToHide.hide();
        }
    });
});

Этот же вопрос на КиберФоруме - http://www.cyberforum.ru/javascript-beginners/thread2174119.html

Все подробно описано. Подскажите пожалуйста.

Как используя один js скрипт работать с несколькими select для фильтрации таблицы?

READ ALSO
Где и как можно использовать ключевое слово this? [требует правки]

Где и как можно использовать ключевое слово this? [требует правки]

Приведите пожалуйста несколько примеровКак оно работает я знаю, но где и как использовать еще не до конца понял

233
Помогите с кодировкой cp1251 в utf8 node js

Помогите с кодировкой cp1251 в utf8 node js

Много чего уже перепробывал ничего не помогло

537