Показать сообщение отдельно
  #1 (permalink)  
Старый 14.01.2020, 13:46
Новичок на форуме
Отправить личное сообщение для dasha123 Посмотреть профиль Найти все сообщения от dasha123
 
Регистрация: 14.01.2020
Сообщений: 4

Люди добрые. Помогите, а то скоро рехнусь :)
Есть таблица в которой нужно фильтровать столбцы с помощью выпадающих списков.
<TABLE id = "filtertable">
<TR>
	<TD><label for="filterRaceRun">Select Race-run:</label><SELECT id = "filterRaceRun" onchange="tableSearchRun();" >
		<OPTION></OPTION>
		<OPTION>Zeitlauf</OPTION>
		<OPTION>Vorlauf</OPTION>
		<OPTION>Zwischenlauf</OPTION>
		<OPTION>Lauf</OPTION>
		<OPTION>Langstrecke</OPTION>
		<OPTION>Endlauf</OPTION>
	</SELECT></TD>
	<br>
	<TD><label for="filterRaceDay">Select Race-Day:</label><SELECT id = "filterRaceDay" onchange="tableSearchDay();">
		<OPTION></OPTION>
		<OPTION>Thursday, 27.06.2019</OPTION>
		<OPTION>Friday, 28.06.2019</OPTION>
		<OPTION>Saturday, 29.06.2019</OPTION>
		<OPTION>Sunday, 30.06.2019</OPTION>
	</SELECT></TD>
	<br>
	<TD><label for="filterRaceClass">Select Race-class:</label><INPUT  id = "filterRaceClass" onkeyup="tableSearchClass();" placeholder = "Search Race-class"/></TD>
</TR>
</TABLE>
</DIV>
<DIV id = "tablet">	
	<table id = "table_rennliste">
	<TH id = "table_rennliste_race_no_h"><A>Race-number</A></TH>
	<TH id = "table_rennliste_race_class_h"><A>Race-class</A></TH>
	<TH id = "table_rennliste_race_run_h"><A>Race-run</A></TH>
	<TH id = "table_rennliste_race_start_h"><A>Planned start</A></TH>
    <tr>
        <td>1</td>
        <td><a href="http://philipp.imas-sport.com/Brandenburg/race.php?competition=wettkampf_206&race_id=1#oben" class="link">K1 200 Men</a></td>
        <td>Zeitlauf</td>
        <td>Thursday, 27.06.2019 - 18:00</td>
    </tr>
    <tr>
        <td>2</td>
        <td><a  href="http://philipp.imas-sport.com/Brandenburg/race.php?competition=wettkampf_206&race_id=2#oben" class="link" >K2 500 Woman</a></td>
        <td>Lauf</td>
        <td>Friday, 28.06.2019 - 9:00</td>
    </tr>
    <tr>
        <td>3</td>
        <td><a  href="http://philipp.imas-sport.com/Brandenburg/race.php?competition=wettkampf_206&race_id=3#oben" >C1 1000 Junior</a></td>
        <td>Endlauf</td>
        <td>Saturday, 29.06.2019 - 8:40</td>
    </tr>
    <tr>
        <td>4</td>
        <td><a  href="http://philipp.imas-sport.com/Brandenburg/race.php?competition=wettkampf_206&race_id=4#oben" >C4 500 Woman</a></td>
        <td>Langstrecke</td>
        <td>Thursday, 27.06.2019 - 18:11</td>
    </tr>
    <tr>
        <td>5</td>
        <td><a  href="http://philipp.imas-sport.com/Brandenburg/race.php?competition=wettkampf_206&race_id=5#oben" >WC1 200 Man</a></td>
        <td>Langstrecke</td>
        <td>Friday, 28.06.2019 - 9:05</td>
    </tr>
	</table>
	</DIV>

function tableSearchRun() {
    var inwin = document.getElementById('filterRaceRun');
	var table = document.getElementById('table_rennliste');
    var regPhrase = new RegExp(inwin.value, 'i');
    var flag = false;
    for (var i = 1; i < table.rows.length; i++) {
        flag = false;
        for (var j = table.rows[i].cells.length - 1; j >= 0; j--) {
            flag = regPhrase.test(table.rows[i].cells[j].innerHTML);
            if (flag) break;
        }
        if (flag) {
            table.rows[i].style.display = "";
        } else {
            table.rows[i].style.display = "none";
        }

    
}
function tableSearchDay() {
    var inwin = document.getElementById('filterRaceDay');
    var table = document.getElementById('table_rennliste');
    var regPhrase = new RegExp(inwin.value, 'i');
    var flag = false;
    for (var i = 1; i < table.rows.length; i++) {
        flag = false;
        for (var j = table.rows[i].cells.length - 1; j >= 0; j--) {
            flag = regPhrase.test(table.rows[i].cells[j].innerHTML);
            if (flag) break;
        }
        if (flag) {
            table.rows[i].style.display = "";
        } else {
            table.rows[i].style.display = "none";
        }

    }
}
function tableSearchClass() {
    var inwin = document.getElementById('filterRaceClass');
    var table = document.getElementById('table_rennliste');
    var regPhrase = new RegExp(inwin.value, 'i');
    var flag = false;
    for (var i = 1; i < table.rows.length; i++) {
        flag = false;
        for (var j = table.rows[i].cells.length - 1; j >= 0; j--) {
            flag = regPhrase.test(table.rows[i].cells[j].innerHTML);
            if (flag) break;
        }
        if (flag) {
            table.rows[i].style.display = "";
        } else {
            table.rows[i].style.display = "none";
        }

    }
}


мне нужно чтобы каждый фильтр дополнял друг друга. а они взаимозаменяют. и поиск происходит не по конкретному слову из выпадающего списка, а по всей таблице. помогите пожалуйста.

Последний раз редактировалось dasha123, 14.01.2020 в 13:57.
Ответить с цитированием