Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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.
Ответить с цитированием
  #2 (permalink)  
Старый 30.01.2012, 18:14
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

for (var i = selectedArray.length; i--; ) {
    if ( x.clan == selectedArray[i] ) {
        return true;
    }
}
return x;
Ответить с цитированием
  #3 (permalink)  
Старый 31.01.2012, 05:54
Интересующийся
Отправить личное сообщение для uznik73 Посмотреть профиль Найти все сообщения от uznik73
 
Регистрация: 13.07.2011
Сообщений: 14

спасибо
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите доработать скрипт Medvedoc Javascript под браузер 0 18.10.2011 16:09
Помогите сделать скрипт! b1shop Opera, Safari и др. 4 21.05.2010 13:54
Помогите настроить скрипт раскрывающегося меню melomanfm Работа 6 10.08.2009 01:21
Люди, помогите адаптировать скрипт под Оперу KiLLk Opera, Safari и др. 1 01.06.2009 01:05