Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Передача переменных в дочернее окно (https://javascript.ru/forum/jquery/46358-peredacha-peremennykh-v-dochernee-okno.html)

And5 07.04.2014 10:46

Передача переменных в дочернее окно
 
Доброго времени суток. Возникла такая задача. Имеется родительская страница содержащая примерно такой код:
<div id="option-xxx">
<select id="id4" name="option[xxx]"  class="select-menu">
</select>
</div>
<div id="option-yyy">
<input type="text" id="id2" class="input-text" name="option[yyy]" value="">
</div>
<div id="option-zzz">
<input type="text" id="id3" name="option[yyy]" value="" >
</div>

где xxx, yyy, zzz - переменная выдаваемая движком (три цифры).
И есть дочерняя страница. на ней присутствует множество элементов <a> с атрибутами tkan, cena и cat и такой код:
$(function(){
        $("a.addtocard").click(function(){
                        window.opener.document.getElementById('id2').value = $(this).attr("tkan");
			window.opener.document.getElementById('id3').value = $(this).attr("cena");
			window.opener.document.getElementById('id4').selectedIndex = $(this).attr("kat");
			   
            window.close();

            return false;
        });
    });

который передает эти данные, заполняя соответствующие формы по id на родительской странице. Все прекрасно работает. Возникла настоятельная необходимость сделать таких блоков два! примерно так:
<div id="option-aaa">
<select id="id4" name="option[aaa]"  class="select-menu">
</select>
</div>
<div id="option-bbb">
<input type="text" id="id2" class="input-text" name="option[bbb]" value="">
</div>
<div id="option-ccc">
<input type="text" id="id3" name="option[ccc]" value="" >
</div>
<div id="option-xxx">
<select id="id4" name="option[xxx]"  class="select-menu">
</select>
</div>
<div id="option-yyy">
<input type="text" id="id2" class="input-text" name="option[yyy]" value="">
</div>
<div id="option-zzz">
<input type="text" id="id3" name="option[zzz]" value="" >
</div>

id2, id3, id4 уже не подходит, возможно как-то нужно прикрутить php переменную. И вот тут я завис. Даже не представляю как это сделать. А, дочерняя страница вызывается из блока с селектом. Может кто-то сталкивался с таким, помогите пожалуйста. Заранее спасибо.

ksa 07.04.2014 11:12

Цитата:

Сообщение от And5
id2, id3, id4 уже не подходит

Сделай посложней...
id_1_2, id_1_3, id_1_4
id_2_2, id_2_3, id_2_4

And5 07.04.2014 11:31

Цитата:

Сообщение от ksa (Сообщение 306532)
Сделай посложней...
id_1_2, id_1_3, id_1_4
id_2_2, id_2_3, id_2_4

так не получится в движке есть шаблоны опций и если опции одного типа то выводится по одному шаблону, а id2 id3 и id4 прописаны мной в шаблонах

ksa 07.04.2014 11:34

Цитата:

Сообщение от And5
так не получится

Значит, как вариант:
- перевести на класс
- сделать родительский элемент каждой группе
- тому родительскому элементу дать что-то уникальное (тот же ИД)

And5 07.04.2014 11:49

попробовать можно, но getElementByClassName вроде не во всех браузерах работает

ksa 07.04.2014 13:17

Цитата:

Сообщение от And5
попробовать можно

А что тебе еще остается?

Цитата:

Сообщение от And5
но getElementByClassName вроде не во всех браузерах работает

Не обязательно использовать именно этот метод. Достаточно "попасть" на материнский элемент, а далее просто использовать знание ДОМ-модели его содержимого...

And5 07.04.2014 13:54

может id скриптом сгенерировать прогнозируемо как-нибудь при загрузке страницы


Часовой пояс GMT +3, время: 20:21.