我在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