Помогите сделать список из выборки
Доброго времени. Такая задача:
Есть множество тегов <td id=name>anytext</td> с разным текстом (это прайс). Делаю выборку по тексту: var lalala = $('td[id=name]').text(); Надо с помощью этого метода выбрать все возможные тексты из документа и поместить их в список <select> в html. Помогите советом, как правильнее это сделать. |
ухуху
удалил код бывает :) |
Спасибо! Сейчас буду разбираться, вроде бы все понятно стало. Если получится, отпишусь.
Но вот теперь другая проблема по серьезней встала: как можно получить эту таблицу с другой страницы? У меня прайс на одной странице, а список должен вылезать на всех. |
Цитата:
способ через JS требует этой таблицы на странице |
эээ, и все, кода не будет больше?)
|
Цитата:
|
нет, что вы) базы можно понять на 30 минут, там нет ничего сложного. ну,только расфасовывание результатов :)
лучше формировать select через пхп (и базу), кешировать его в html (в папке cache, напр.).. а потом включать (или инклудить) его (через пхп,опять таки) |
Цитата:
Так на js/jquery сделать это невозможно (подгружать инфу с другой страницы)? |
легко. щас опишу
......... пусть это будет дано в формате JSON. почему именно он ? он мне нравится :) в инете можно найти кучу плюсов за него ( например, можно делать AJAX запросы на другой домен и получать JSON объекты.. да и вообще. удобнее способа не придумать) ответ с сервера ( т.е. html страница) Код:
{ селект многострадальный... <select id="sel"></select> <script src="http://yandex.st/jquery/1.5.1/jquery.min.js"></script> <script> // тут уже получили типа данные. для получения данных делаем то,что будет снизу :) var t = '{ "1" : { "1" : "1-1","2":"2-1","3":"3-1" } , "2" : { "1" : "1-2","2":"2-2","3":"3-2" } }' // обратите внимание, это строка ( с сервера получаем строку) t = $.parseJSON(t); // теперь это объект var a = []; // массив найденного текста (ну, вы понели))) // бедный мой код... он ужасен, но лучшего способа я не придумал //либо так for ( var k in t) { for(var h in t[k]) {a.push( t[k][h]);} } // либо через рекурсивный $.each или такой же (рекурсивный) for.. in /* теперь a (массив) содержит это : 0: "1-1" 1: "2-1" 2: "3-1" 3: "1-2" 4: "2-2" 5: "3-2" проходимся по нему циклом и все, добавляем их к селекту */ var sel = document.getElementById("sel"); for(var i = 0, b= a.length; i<b; i++){ sel.options[i] = new Option(a[i],i); } </script> а теперь как получить объект (т.е.,это { "1" : { "1" : "1-1","2":"2-1","3":"3-1" } , "2" : { "1" : "1-2","2":"2-2","3":"3-2" } } ) под рукой AJAX нету,поэтому только опишу $.getJSON( *!*' ВАШ URL' */!* , function(t) { // обрабатываем данные. t - OBJECT , как я понял из документации :) . for ( var k in t) { for(var h in t[k]) { a.push( t[k][h]); } } var sel = document.getElementById("sel"); # это наш селект for(var i = 0, b= a.length; i<b; i++) sel.options[i] = new Option(a[i],i); }); как сформировать JSON объект - читайте в доках вот тут как сформировать json объект php.net/manual/en/function.json-encode.php как получать то,что потом будет формироваться в json объект - тут я уже не могу помочь :) пхп не мое |
Огромное спасибо. Но я последовал Вашему совету и все-таки изучил таблицы и уже сделал таблицу из базы. Вопросы наверняка возникнут, но теперь наверное это уже не в этот форум.
Чтобы не начинать новую тему, спрошу вот что: видимо вопрос про регклярные выражения. есть строка, к примеру: "Это очень хорошая штука, называется «SATIN». Покупайте." В этой строке нужно выбрать слово «SATIN» и присвоить ему определенный стиль. Как это можно сделать? |
Часовой пояс GMT +3, время: 06:09. |