Помогите доделать скрипт (проблема с фильтрацией)
Делаю скрипт который делает запрос к серверу, пытаюсь фильтровать по данным введенным пользователем
Скрипт: 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 заранее не известно? :help: |
for (var i = selectedArray.length; i--; ) { if ( x.clan == selectedArray[i] ) { return true; } } return x; |
спасибо
|
Часовой пояс GMT +3, время: 01:57. |