Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Переменные в селекторах не работают (https://javascript.ru/forum/jquery/38102-peremennye-v-selektorakh-ne-rabotayut.html)

Math88 19.05.2013 13:33

Переменные в селекторах не работают
 
Господа, добавляю товары в корзину, с "полетом товара".
Все работает, не могу выбрать нужный рисунок по селектору alt. Нужное значение получено в переменной, но селектор ищет не по значению переменной, а по имени перемнной. Т.е. не видит мою переменную и использует просто строку "pictname". Какие я только кавычки уже не ставил.. Какой синтаксис только не пробовал..

Уверен, что вопрос не стоит и выеденного яйца, но не могу найти решение. Подскажите?!




$(".addToCartButton").click(function(){

var id = $(this).attr('id');
var add="add";
var pictname=$(this).attr('name');
// значение переменной pictname получили(проверял алертом)




$.get("cart.php",{action : add, p : id}, AjaxSuccess);
function AjaxSuccess(data)
{
if (data) {

}
else alert('Ошибка передачи данных!');
};



// alt видит не значение переменной pictname, а строку "pictname".

$("#pictmove[alt=pictname]")

.clone().appendTo("#tovarpic")
.css( {'position' : 'absolute', 'z-index' : '1000', 'left':43, 'top':33} )

.animate({opacity: 0.5,
position: 'absolute',
left: 600,
top: -20,

width: 50}, 1000, function() {
$(this).remove();
});



});

Math88 19.05.2013 13:34

Да, и версия библиотеки самая последняя 1.9.1

mta88 19.05.2013 13:43

разве одного "#pictmove" не достаточно? это же id, он уникальный должен быть

в любом случае javascript не php, переменные в строках не раскрываются, надо явно сложить
"#pictmove[alt=\""+pictname+"\"]"

Math88 19.05.2013 15:55

Спасибо, mta88 (хех ник схож с моим)!
Все заработало! Я действительно больше с php работаю...буду учить мат.часть)

А почему еще alt использую?! У меня <div>одна картинка для группы кнопок с уникальными id(по весам товара)</div>. И таких div несколько. Поэтому по id кнопки не определить рисунок. Приходится заморачиваться с alt.
Но...я подумаю еще над реализацией)


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