salve a tutti,
dovrei ordinare una tabella, o meglio far visualizzare all'utente solo le righe che corrispondono ad un determinato filtro.
quindi ho pensato di inserire un input type per ogni colonna in cui l'utente digita qualcosa.
in base a quello che digita "scompaiono" alcune righe.
il problema è riesco a far visualizzare i campi della tabella che contengono i valori inseriti.
io vorrei far visualizzare quelli che iniziano per i valori inseriti!
questa è la funzione js:
codice:
function filter (phrase, _id){
var words = phrase.value.toLowerCase().split(" ");
var table = document.getElementById(_id);
var ele;
for (var r = 1; r < table.rows.length; r++){
ele = table.rows[r].innerHTML.replace(/<[^>]+>/g,"");
var displayStyle = 'none';
for (var i = 0; i < words.length; i++) {
if (ele.toLowerCase().indexOf(words[i])>=0) {
displayStyle = '';
} else {
displayStyle = 'none';
break;
}
}
table.rows[r].style.display = displayStyle;
}
}
il problema è l'uso di indexOf...
ho provato ad usare substring o substr ma poi mi incarto nel ciclo for!
grazie per l'aiuto e un saluto!