Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.03.2015, 18:55
Новичок на форуме
Отправить личное сообщение для Jebber Посмотреть профиль Найти все сообщения от Jebber
 
Регистрация: 02.03.2015
Сообщений: 4

Фильтрация данных в таблице (с другой страницы)
Доброго времени суток!

Так как мои познания в JS да и в общем сайтбилдинга оставляют желать лучшего, обращаюсь сюда т.к. вот уже несколько дней ломаю голову в решении следующей проблемы:

Есть скрипт:
<script type="text/javascript">
    function filter2 (phrase, _id){
        var words = phrase.value.toLowerCase().split(" "); 
        var table = document.getElementById(_id); 
        for (var r = 1; r < table.rows.length; r++){ 
            var cellsV1 = table.rows[r].cells[1].innerHTML.replace(/<[^>]+>/g,""); //указать первый столбец
            var cellsV = [cellsV1].join(" "); //соединить стобцы для сравнения с введенными данными
            var displayStyle = 'none';
            for (var i = 0; i < words.length; i++) {
            if (cellsV.toLowerCase().indexOf(words[i])>=0)
                displayStyle = ''; 
            else {
                displayStyle = 'none'; 
                break;
            }
            }
        table.rows[r].style.display = displayStyle; 
        }
    }
  </script>


есть html код:

<input name="filt" onkeyup="filter2(this, 'product-feature')" style="width:350px;" type="text" />
   
   <table id="product-feature" border="0" cellpadding="2" cellspacing="1" width="100%">
....


Если вкратце, то скрипт фильтрует данные по 2-му столбцу таблицы.
Если все это дело разместить на одной странице, то все прекрасно работает, в этом то как раз и дело!
Задача такая: необходимо фильтровать данные из таблицы с ID product-feature, но дело в том, что таблица находится на другой странице.
То есть это интернет магазин, в категориях есть список товаров и надо сделать так, чтобы при вводе в input поле артикула товара (он указан на странице товара непосредственно) товары с совпадающими артикулами выводились, а другие скрывались.

Описал проблемы как смог, если слишком много лишнего написал - извиняйте

Так вот в общем то в этом и весь вопрос: как сделать так? Как обратится к таблице, находящейся на другой странице, чтобы ее данные фильтровать?

Заранее огромное спасибо всем неравнодушным и ответившим!
надеюсь на Ваше понимание и естественно, помощь!
Ответить с цитированием
  #2 (permalink)  
Старый 02.03.2015, 19:04
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,205

Сообщение от Jebber
Описал проблемы как смог, если слишком много лишнего написал - извиняйте
Не нужно так долго "объяснять"... Достаточно просто сделать тестовый пример.
Ответить с цитированием
  #3 (permalink)  
Старый 03.03.2015, 11:13
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Как обратится к таблице, находящейся на другой странице

То есть получается так - на странице А вводим условие фильтра, а данные фильтруемые это страница Б?
Ответить с цитированием
  #4 (permalink)  
Старый 03.03.2015, 12:05
Новичок на форуме
Отправить личное сообщение для Jebber Посмотреть профиль Найти все сообщения от Jebber
 
Регистрация: 02.03.2015
Сообщений: 4

Сообщение от laimas Посмотреть сообщение
Как обратится к таблице, находящейся на другой странице

То есть получается так - на странице А вводим условие фильтра, а данные фильтруемые это страница Б?
Да, на странице А (список товаров) вводим значение, которое находится в таблице на странице Б (карточка товара).
Ответить с цитированием
  #5 (permalink)  
Старый 03.03.2015, 12:07
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

А вы представляете такое - я открыл страницу списка товаров, затем открыл страницу карточки товара, чего-то таким указал, возвращаюсь на первую страницу и смотрю результат? И как это называется?

PS. Может быть sql-таблица должна иметь поле режима отображения или TINYINT (0/1), или ENUM да/нет, чрез административный раздел выбираем для какого либо артикула нужный режим, соответствующий результат на страницах?

Последний раз редактировалось laimas, 03.03.2015 в 12:29.
Ответить с цитированием
  #6 (permalink)  
Старый 04.03.2015, 16:51
Новичок на форуме
Отправить личное сообщение для Jebber Посмотреть профиль Найти все сообщения от Jebber
 
Регистрация: 02.03.2015
Сообщений: 4

Сообщение от laimas Посмотреть сообщение
А вы представляете такое - я открыл страницу списка товаров, затем открыл страницу карточки товара, чего-то таким указал, возвращаюсь на первую страницу и смотрю результат? И как это называется?

PS. Может быть sql-таблица должна иметь поле режима отображения или TINYINT (0/1), или ENUM да/нет, чрез административный раздел выбираем для какого либо артикула нужный режим, соответствующий результат на страницах?
Дело в том, что люди будут вводить в это поле то, что они знают, с моем случае это артикул товара.
И артикулы товаров и их совместимость с устройствами находятся в карточке товара.

Ок, если это кажется бредом, то можете подсказать иное решение проблемы?
Нужна строка поиска, которая будет искать по одной-двум строкам определенной таблицы, которая, как Вы наверное уже поняли находится на другой странице
Ответить с цитированием
  #7 (permalink)  
Старый 04.03.2015, 17:39
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Дело в том, что люди будут вводить в это поле то, что они знают, с моем случае это артикул товара.

Пусть вводят, какие проблемы?

Нужна строка поиска, которая будет искать по одной-двум строкам определенной таблицы

Нужна, какая проблема это организовать?

таблицы, которая, как Вы наверное уже поняли находится на другой странице

Это вы можете пояснить? Браузер не может открыть сразу две страницы, о какой другой идет речь? В динамическом сайте вообще не существует физических страниц, все они создаются по требованию клиента, по условиям определенным, живут пока открыт браузер и умирают после его закрытия.

У вас же получается, что открывается страница html-таблицы, и одновременно страница карточки, и надо ... Как это возможно? Никак. Страница с данными товара формируется по данным sql-таблицы? Ну так и обращайтесь к ней из страницы карточки, ищите в ней искомое, изменяйте.

Или же "на пальцах" и примере поясните что к чему, иначе действительно бред какой-то получается.
Ответить с цитированием
  #8 (permalink)  
Старый 05.03.2015, 10:19
Новичок на форуме
Отправить личное сообщение для Jebber Посмотреть профиль Найти все сообщения от Jebber
 
Регистрация: 02.03.2015
Сообщений: 4

Сообщение от laimas Посмотреть сообщение
Дело в том, что люди будут вводить в это поле то, что они знают, с моем случае это артикул товара.

Пусть вводят, какие проблемы?

Нужна строка поиска, которая будет искать по одной-двум строкам определенной таблицы

Нужна, какая проблема это организовать?

таблицы, которая, как Вы наверное уже поняли находится на другой странице

Это вы можете пояснить? Браузер не может открыть сразу две страницы, о какой другой идет речь? В динамическом сайте вообще не существует физических страниц, все они создаются по требованию клиента, по условиям определенным, живут пока открыт браузер и умирают после его закрытия.

У вас же получается, что открывается страница html-таблицы, и одновременно страница карточки, и надо ... Как это возможно? Никак. Страница с данными товара формируется по данным sql-таблицы? Ну так и обращайтесь к ней из страницы карточки, ищите в ней искомое, изменяйте.

Или же "на пальцах" и примере поясните что к чему, иначе действительно бред какой-то получается.
Ок, объясню с примерами.
Есть страница категорий товара (http://tesmarkt.ru/akkumulyatory-dlya-noutbukov/asus/). Необходимо разместить поле для поиска на этой странице (предположительно после подкатегорий) и чтобы поиск искал по странице карточки товара (http://tesmarkt.ru/akkumulyatory-dly...1225-a32-1025/) по вкладке "Характеристики" и по полю "Аналоги (артикулы)".

Не знаю как еще более подробно объяснить.
Проще говорю нужен обычный поиск, который ищет по одному-двум полям таблицы "Характеристики".

ПС. За ссылки прощу прощения, как только что нибудь прояснится с этой проблемой - удалю.
Ответить с цитированием
  #9 (permalink)  
Старый 05.03.2015, 10:45
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

И что здесь подразумевалось под "другой страницей"?

Поиск можно производить:

а) в базе
б) на странице

В любом из этих случаев понятие "другая страница", это нечто непостижимое. Если "другая", это то что подгружается, так извините, при поиске по базе результат, это новая страница и только найденное. Если поиск на странице то будет естественно по объектам на странице, а не то что может подгрузиться при прокрутке ее.

Размещайте форму поиска расширенную, и в ней списки с нужными параметрами поиска "Характеристики", "Аналоги (артикулы)", .... что угодно, делайте выборку по этим полям базы. В чем проблема?

Кстати, опупеешь от такого магазина. А если я не хочу крутить и ждать пока все загрузиться? На фото у Гугла, к примеру, открыли партию, а дальше можно еще по желанию. Да и не удобно в такой портянке ориентироваться. Может "поиск", это не поиск, а оставить на странице только то что хочется, чтобы именно не раздражала эта подгрузка? Ну тогда это фильтр (типа справа). И если фильтр по имеющемуся на странице, то есть плагины к jQuery, названия сказать не могу, но есть, найдете.

Последний раз редактировалось laimas, 05.03.2015 в 11:00.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузить div по id с другой страницы. Только JS. tuchkovo-auto Events/DOM/Window 3 29.01.2015 18:31
Изменение цвета ячейки в таблице, при наведении на строку другой таблицы Psychosonic Общие вопросы Javascript 12 24.11.2010 16:44
Две одинаковые страницы: на одной скрипты видны, на другой нет Маня Общие вопросы Javascript 9 03.06.2009 11:57
Вставка текста с одной страницы в форму на другой странице Dima Общие вопросы Javascript 19 22.01.2009 17:35
Сохранение данных для передачи с одной страницы в другую Andrey Freeman Общие вопросы Javascript 6 15.09.2008 22:32