我在jQuery中有一個字符串數組。我有另一個我想用來過濾字符串數組的關鍵字數組。如何獲取一串字符串並對其進行過濾?
我的兩個數組:
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");
我如何使用jQuery中的keywords
陣列篩選arr
陣列?在這種情況下,它會過濾出「薩莉在塔科貝爾工作」並保留其餘部分。
以下是我正在使用的實際代碼。
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);
}
這樣做的全部目的是讓用戶過濾日誌結果。因此,用戶執行一個操作,該操作開始startTail()
和$.getJSON()
檢索由PHP函數構建的JSON對象並打印結果。作品完美無瑕。現在我想讓用戶選擇過濾進入的拖尾項目。用戶單擊過濾器按鈕,jQuery將過濾器文本添加到keywords
數組中,然後使用keywords
數組篩選來自JSON對象的data.log
,然後將其附加到屏幕上。
我也有一個不起作用的刪除過濾器功能。也許有人可以幫助我。
新增的Javascript代碼,因爲這是一個JavaScript的問題(jQuery是爲Javascript庫)。順便說一句,這些數組似乎不是Javascript數組... – kapa 2012-01-12 17:55:29
我也刪除了jQuery標籤,因爲問題與它無關。另外,@ bazmegakapa是對的。這些不是有效的JavaScript數組。這看起來像PHP數組。在JavaScript中,只需使用方括號:var arr = [1,2,3]' – 2012-01-12 18:01:01
您是對的。對不起,我寫的程序使用了jQuery,Javascript,PHP和HTML的組合..剛剛有點混淆。 – amlane86 2012-01-12 18:02:15