Mam tablicę ciągów w jQuery. Mam kolejną tablicę słów kluczowych, które chcę użyć do filtrowania tablicy ciągów.Jak wziąć tablicę łańcuchów i przefiltrować je?
Moje dwie tablice:
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");
Jak można filtrować tablicy arr
pomocą tablicy w jQuery keywords
? W tej sytuacji odfiltrowałoby "Sally pracuje w Taco Bell" i zatrzymałoby resztę.
Poniżej znajduje się aktualny kod, którego używam.
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);
}
Celem tego jest umożliwienie użytkownikowi filtrowania wyników logów. Tak więc użytkownik wykonuje akcję, która rozpoczyna startTail()
i $.getJSON()
pobiera obiekt JSON, który jest zbudowany przez funkcję PHP i drukuje wyniki. Działa bezbłędnie. Teraz chcę dać użytkownikowi opcję filtrowania przychodzących elementów ogonowych. Użytkownik klika przycisk filtru, a jQuery pobiera tekst filtru i dodaje go do tablicy keywords
, a następnie data.log
z obiektu JSON jest filtrowany przy użyciu tablicy keywords
, a następnie dołączany do ekranu.
Mam również funkcję usuwania filtra, która nie działa. Może ktoś może mi w tym pomóc.
Dodany znacznik Javascript, ponieważ jest to kwestia Javascript (jQuery to biblioteka JavaScript).Btw, te tablice nie wydają się tablicami JavaScript ... – kapa
Usunąłem również znacznik jQuery, ponieważ pytanie nie ma z tym nic wspólnego. Również @bazmegakapa ma rację. To nie są poprawne tablice JavaScript. To wygląda jak tablice PHP. W JavaScriptu po prostu użyj nawiasów kwadratowych: 'var arr = [1, 2, 3]' –
Masz rację. Przepraszam ... program, który napisałem, wykorzystuje połączenie jQuery, JavaScript, PHP i HTML. Po prostu trochę się pomyliłem. – amlane86