Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Помогите с FCE (http://forum.typo3.ru/showthread.php?t=7904)

GAZok 10.08.2009 18:14

Помогите с FCE
 
я создал елемент в котором выводится следующий код:
Код HTML:

<div id="price_eur">
5 &euro;
</div>
<div id="price_usd">
8 $
</div>
<a href="javascript:changeCurrency();">change currency</a>

то есть при нажатии на "change currency" javascript функция при помощи id="price_eur" и id="price_usd" прятает один div и показывает другой.

Проблема в том, что в случае нескольких таких елементов на странице появлятся div-и с одинаковили id. То есть необходимо как то сделать так чтобы id="price_eur" и id="price_usd" генерировались динамически:
id="price_eur_1" и id="price_usd_1"
id="price_eur_2" и id="price_usd_2"
id="price_eur_3" и id="price_usd_3"

Как это сделать?

void 10.08.2009 19:21

Очень просто. Не используйте id, используйте class.

GAZok 10.08.2009 20:41

не совсем понятно. разве в случае использования class не нужно уникальных названий class для разных елементов? или вы имеете ввиду чтото другое?

может вам будет не сложно показать какой то пример?

void 11.08.2009 00:26

Именно. На странице может быть только один элемент с каждым id, но сколько угодно элементов с одинаковым class.
Предположим, что вы используете jQuery.
Скажем, у вас есть код в FCE
Код:

<div>
<div id="price_eur">
5 &euro;
</div>
<div id="price_usd">
8 $
</div>
<a href="#" class="change_currency">change currency</a>
</div>

Тогда можно написать на JS:
Код:

jQuery(document).ready(function(){
    $('.change_currency').click(function(){
        var eur = $('.price_eur',this);
        var usd = $('.price_usd',this);
        if (eur.visible()){ eur.hide(); usd.show(); } else { eur.show(); usd.hide(); }
    });
});


GAZok 11.08.2009 02:10

да, понятно. Это как бы решает проблему, но не полностью. Эсли не ошибаюсь в предоставленном вами варианте переключатся будут сразу все div-и поскольку у всех элементов div-и с теми же названиями классов. В идеале хотелось бы чтоб была возможность переключать div-и на каждом элементе отдельно (правда если это возможно).

Кстати, неужели в TYPO3 нет такой возможности, создавать в каждом FCE уникальный параметр или что то типа того?

void 11.08.2009 11:07

Нет, в моём примере будет скрываться только div, относящийся к конкретной a-шке, т.к. область поиска селектора ограничена this. Уникальный параметр задать можно, но неясно, зачем...


Часовой пояс GMT +4, время: 07:02.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot