Показать сообщение отдельно
  #1 (permalink)  
Старый 28.01.2012, 23:28
Интересующийся
Отправить личное сообщение для uznik73 Посмотреть профиль Найти все сообщения от uznik73
 
Регистрация: 13.07.2011
Сообщений: 14

Помогите доделать скрипт (проблема с фильтрацией)
Делаю скрипт который делает запрос к серверу, пытаюсь фильтровать по данным введенным пользователем
Скрипт:
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 заранее не известно?

Последний раз редактировалось uznik73, 28.01.2012 в 23:38.
Ответить с цитированием