我有一堆使用Jquery更新顯示由JSON對象生成的「東西」列表的簡單頁面上的DOM的過濾選項。每個過濾器都能很好地獨立工作(see fiddle),但是我希望它們能夠更加連接。 I.E.比方說,我按性別過濾,然後我想搜索一個名字。或者,如果我按年齡篩選,則按活動狀態過濾。我的過濾功能看起來像這樣通過JSON構建嵌套過濾器(javascript)
function sortByAge(value) {
document.getElementById("range").innerHTML= value;
var data = getData();
var length = data.result.length;
var htmlSlug = "";
for (var i=0; i< length; i++) {
if (data.result[i].age >= value){
htmlSlug += writeHTML(data,i);
}
}
if (!htmlSlug) htmlSlug = "Nothing Found";
$('.data-container').html(htmlSlug);
}
function writeHTML(data, i) {
//this gets called any time we need to build html to the DOM
var active = "";
if (data.result[i].isActive == true) {
var active = "active";
}
var slug = '<div class="member-card-container '+active+'">'+
'<div class="info">'+
'<span class="name">'+data.result[i].name+'</span> '+
'<span class="gender">'+data.result[i].gender+ '</span> '+
'<span class="age">'+data.result[i].age+'</span>'+
'<span class="latitude">'+data.result[i].latitude+'</span>'+
'<span class="longitude">'+data.result[i].longitude+'</span>'+
'</div>'+
'<div class="address">'+data.result[i].address+'</div>'+
'</div>';
return slug;
}
再次,看fiddle