私は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
配列をフィルタリングすることができますか?この状況では、「SallyはTaco Bellで働いている」ということを除外し、残りの部分を保持します。
以下は私が使用している実際のコードです。
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
配列に追加します。のJSONオブジェクトは、keywords
配列を使用してフィルタリングされ、画面に追加されます。
私はまた動作していない削除フィルタ機能を持っています。多分誰かがそれを手伝ってくれるかもしれません。
は、JavaScriptタグを追加しました。Btw、これらの配列はJavascript配列ではないようです... – kapa
jQueryタグは質問と関係がないので削除しました。また、@bazmegakapaは正しいです。それらは有効なJavaScript配列ではありません。それはPHP配列のように見えます。 JavaScriptでは、単に角括弧を使用してください: 'var arr = [1,2,3]' –
あなたは正しいです。申し訳ありません...私が書いたプログラムは、jQuery、Javascript、PHP、およびHTMLの組み合わせを使用しています。 – amlane86