Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Не работает функция замены атрибута (https://javascript.ru/forum/jquery/26009-ne-rabotaet-funkciya-zameny-atributa.html)

Hurray 22.02.2012 15:05

Не работает функция замены атрибута
 
Здравствуйте. У меня на странице есть ссылка и список выбора.
<a href="<?echo $arElement["ADD_URL"]?>"   id="myid1">link</a>
<select name='myvalue' id="sel<?=$arElement["ID"]?>">
<option selected="selected" value=1>100 г</option>
<option value=2>200 г</option>
<option value=3>300 г</option>
<option value=4>400 г</option>
<option value=5>500 г</option>
</select>

Нужно, чтобы при выборе другого значения из списка заменялся идентификатор ссылки. Написал такой код:
<script>
$(function(){
    $('#sel<?=$arElement["ID"]?>').change(function(){
        $("a[href='<?echo $arElement["ADD_URL"]?>']").attr('id', 'myid2');
    });
});
</script>

И не работает. Помогите разобраться, где ошибка

DreamTheater 22.02.2012 15:23

Для начала нужно отучиться смешивать языки программирования.

Hurray 22.02.2012 15:27

другие функции работают.
А как бы Вы это написали?

T-sh 22.02.2012 16:52

что лежит в $arElement["ID"] проверяли?

Hurray 22.02.2012 17:13

Цитата:

Сообщение от T-sh (Сообщение 159180)
что лежит в $arElement["ID"] проверяли?

Да, такая вот функция:
$(function(){
    $('#sel<?=$arElement["ID"]?>').change(function(){
        $('#mytext<?=$arElement["ID"]?>').text(($(this).val()*<?=$arPrice["PRINT_VALUE"]?>)+" руб.");
    });
});

работает на ура

SkyLight 22.02.2012 18:09

А что вам говорит файрбаг?

Hurray 22.02.2012 20:43

Цитата:

Сообщение от SkyLight (Сообщение 159197)
А что вам говорит файрбаг?

<a href="<?echo $arElement["ADD_URL"]?>" id="myid1">link</a>

В самой функции синтаксических ошибок нет?

T-sh 22.02.2012 22:10

Цитата:

Сообщение от Hurray (Сообщение 159185)
Да, такая вот функция:
$(function(){
    $('#sel<?=$arElement["ID"]?>').change(function(){
        $('#mytext<?=$arElement["ID"]?>').text(($(this).val()*<?=$arPrice["PRINT_VALUE"]?>)+" руб.");
    });
});

работает на ура

причем тут эта функция? :) сделайте <? echo $arElement["ID"];?> и посмотрите, чему оно равно.

как совет: если не очень охота заморачиваться с распределением языков, делайте так:

<script>
var blah = <? print $arElement["ID"]?>;
..
</script>

и дальше уже работайте с переменной из самого js. Как минимум, меньше путаницы будет и быстрее разберетесь.

и с ADD_URL тоже самое сделайте, вполне возможно, что "http:/" упустили или ещё что-то :)


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