PDA

Просмотр полной версии : Помогите с FCE


GAZok
10.08.2009, 18:14
я создал елемент в котором выводится следующий код:

<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. Уникальный параметр задать можно, но неясно, зачем...