Делаю скрипт который делает запрос к серверу, пытаюсь фильтровать по данным введенным пользователем
Скрипт:
var selectedArray = new Array();
var selObj = document.getElementById('clans');
var i;
var count = 0;
for (i=0; i<selObj.options.length; i++) {
if (selObj.options[i].selected) {
selectedArray[count] = selObj.options[i].value;
count++;
}
}
alert(selectedArray);
$.getJSON("onlineusers.php", function(json){
objj = json.filter(function (x) {return x.id_position == '63'})
.filter(function (x) {
for (i=0; i<selectedArray.length; i++) {
if (selectedArray.length>0){
return x.clan == selectedArray[i]}
else {
return x;}
}
});
var tbl = "<center><table style='width:450px;'><thead><tr><th>Персонаж</th><th>Позиция</th></tr></thead><tbody>";
for (var h = 0; h < objj.length; h++) {
tbl += "<tr>" +
"<td style='font-weight:bold; width:100%;'>" +objj[h].login+"[ "+objj[h].level+" ]</td>" +
"<td style='color:red;width:110px;'>"+objj[h].position_name+"</td>" +
"<td>";
tbl += "</td></tr>";
}
tbl += "</tbody></table></center>";
document.getElementById('result').innerHTML = tbl
});
В общем то вся загвоздка в этом участке кода:
.filter(function (x) {
for (i=0; i<selectedArray.length; i++) {
if (selectedArray.length>0){
return x.clan == selectedArray[i]}
else {
return x;}
}
});
Данный участок получает в переменную selectedArray массив со значениями и проверяет на совпадение в полученном массиве с сервера, но сверяется он только с первым значением...
Как заставить его проверять со всеми значениями если количество значений в переменной selectedArray заранее не известно?