Ich arbeite an einem kleinen Projekt und ich brauche die Funktionalität, wo die Tabellenzeilen ausgeblendet werden, wenn ihre td.icaoIata nicht die Zeichenfolge enthält, die in der Eingabezeile eingegeben wird. Darüber hinaus werden sie ausgeblendet/angezeigt, wenn ihr Datenattribut im Bereich eines Jquery-Schiebereglers liegt. Dieser Teil habe ich gearbeitet und sollte nicht relevant sein.Überprüfen, ob td Text enthält?
Wenn die Zeichenfolge nicht gefunden wird, ausblenden Sie die Zeile grundsätzlich. Sobald das Eingabefeld aktualisiert ist, überprüfen Sie erneut, und verstecken/zeigen Sie, wenn immer noch nicht gefunden/gefunden.
Meine Probleme waren meist mit der Kombination verschiedener Funktionen wie find(),: enthält usw., die ich nicht zusammen arbeiten konnte.
Ich hoffe, ich bin klar genug.
Kann mir jemand zu einer Lösung führen?
Hier ist mein Code. Vielen Dank!
<input type="text" name="search" class="form-control searchinput" ><br>
<div id="slider"></div>
<div id="slider-value-lower"></div>
<div id="slider-value-upper"></div>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Flight #</th>
<th>Departure</th>
<th>Arrival</th>
<th>Duration</th>
<th>Aircraft</th>
<th>Distance</th>
<th>Options</th>
</tr>
</thead>
<tbody class="schedules">
<tr class="schedulerow" data-duration="1.4">
<td><a href="">DLH1058</a></td>
<td class="icaoIata">Frankfurt Main <small>(EDDF)</small></td>
<td class="icaoIata">Cote D'Azur <small>(LFMN)</small></td>
<td> 1.4 h</td>
<td class="icaoIata">
A320
</td>
<td>386 nm</td>
<td>
<a href="" class="btn btn-success">Book</a>
</td>
</tr>
............
</tbody>
</table>
Und mein JS
var slider = document.getElementById('slider');
noUiSlider.create(slider, {
connect: true,
start: [0,3],
step: 0.5,
tooltips: true,
range: {
'min': 0,
'max': 20
}
});
//initialize the values
$(".schedules").children().hide().filter(function() {
var duration = $(this).data('duration');
return duration >= 0 && duration <= 3;
}).addClass('is-shown').show();
$(".searchinput").keyup(function() {
var content = $(".searchinput").val();
//My mess was here....
});
slider.noUiSlider.on('change', function(values, handle) {
/*sliderValues[handle].innerHTML = values[handle];*/
filterRows(values[0], values[1]);
});
function filterRows(min, max) {
$(".schedules").children().removeClass('is-shown').hide().filter(function() {
var duration = $(this).data('duration');
return duration >= min && duration <= max;
}).addClass('is-shown').show();
}
So
die 'td.icaoIata'? Ich kann mehr als 1 sehen, wenn ich mich nicht irre – guradio
Bitte versuchen Sie mit diesem Plugin https://datatables.net/ – Shibon
Es sollte alle mit icaoIata markiert suchen. – user3237838