Ho una matrice di stringhe in jQuery. Ho un'altra serie di parole chiave che voglio usare per filtrare l'array di stringhe.Come posso prendere una serie di stringhe e filtrarle?
miei due array:
var arr = new Array("Sally works at Taco Bell", "Tom drives a red car", "Tom is from Ohio", "Alex is from Ohio");
var keywords = new Array("Tom", "Ohio");
Come posso filtrare la matrice arr
utilizzando la matrice keywords
in jQuery? In questa situazione filtrerebbe "Sally lavora a Taco Bell" e tiene il resto.
Di seguito è riportato il codice effettivo che sto utilizzando.
var keywords= [];
var interval = "";
var pointer = '';
var scroll = document.getElementById("tail_print");
$("#filter_button").click(
function(){
var id = $("#filter_box").val();
if(id == "--Text--" || id == ""){
alert("Please enter text before searching.");
}else{
keywords.push(id);
$("#keywords-row").append("<td><img src=\"images/delete.png\" class=\"delete_filter\" /> " + id + "</td>");
}
}
);
$(".delete_filter").click(
function(){
($(this)).remove();
}
);
function startTail(){
clearInterval(interval);
interval = setInterval(
function(){
$.getJSON("ajax.php?function=tail&pointer=" + pointer + "&nocache=" + new Date(),
function(data){
pointer = data.pointer;
$("#tail_print").append(data.log);
scroll.scrollTop = scroll.scrollHeight;
});
}, 1000);
}
Lo scopo di questo è di permettere all'utente di filtrare i risultati di registro. Quindi l'utente esegue un'azione che inizia con startTail()
e $.getJSON()
recupera un oggetto JSON creato da una funzione PHP e stampa i risultati. Funziona perfettamente. Ora voglio dare all'utente la possibilità di filtrare gli elementi di coda in entrata. L'utente fa clic su un pulsante filtro e jQuery prende il testo del filtro e lo aggiunge all'array keywords
, quindi lo data.log
dall'oggetto JSON viene filtrato utilizzando l'array keywords
e quindi aggiunto allo schermo.
Ho anche una funzione di filtro di eliminazione che non funziona. Forse qualcuno può aiutarmi con quello.
Aggiunto il tag Javascript, perché questa è una domanda Javascript (jQuery è una libreria per JavaScript).A proposito, quegli array non sembrano essere array di Javascript ... – kapa
Ho rimosso anche il tag jQuery poiché la domanda non ha nulla a che fare con esso. Inoltre, @bazmegakapa ha ragione. Quelle non sono matrici JavaScript valide. Sembra un array PHP. In JavaScript, usa semplicemente le parentesi quadre: 'var arr = [1, 2, 3]' –
Hai ragione. Scusate ... il programma che ho scritto usa una combinazione di jQuery, Javascript, PHP e HTML .. è stato un po 'confuso. – amlane86