Нужна помощь по javascript

[Удален]
574

Привет всем!

Мой скрипт:


<div class="object">
<a href="ссылка_на_товар">Имя товара</a>
<div><span>272,80 руб.</span></div>
<div class="add_from_list">
<input type="text" name="Количество товара" value="1"> шт.
<a href="#" id="good-7307-272,80-1" class="addCart"><Добавить товар</a>
</div>
</div>
и так далее много товаров <div class="object">...

Мне нужно что бы если пользователь ввел в поле "Количество товара" новое значение (например: 5) то у ссылки "Добавить товар" изменилось следующие значение:

<a href="#" id="good-7307-272,80-5" class="addCart"><Добавить товар</a>

ps / в id ссылки "Добавить товар" хранится good-7307-272,80-5 (7307- артикул, 272,80 - цена, 5- количество )

Если нужно заплачу.

Заранее огромное спасибо!)

dma84
На сайте с 21.04.2009
Offline
168
#1

На событие onkeydown ставьте обработчик

[Удален]
#2
На событие onkeydown ставьте обработчик

)) мне как раз сам обработчик и нужен) Сделайте - я заплачу

T
На сайте с 01.10.2004
Offline
73
#3
lex7310:
в id ссылки "Добавить товар" хранится good-7307-272,80-5 (7307- артикул, 272,80 - цена, 5- количество )

Уверены, что стоит так делать? id не место для хранения :) Более того, id элемента должно быть уникальным в контексте страницы, иначе возможны фокусы. А еще, гораздо проще будет сделать обработчик, если id будет статическим. Ну и т.д. Не делайте так, короче :)

[Удален]
#4

id у каждого товара разный....

lex7310 добавил 15.03.2011 в 23:31

Всем спасибо! Вопрос решен!)

referees
На сайте с 13.12.2009
Offline
115
#5

нужо вывести еще какой-нибудь атрибут/задасть класс, чтобы было проще зацепиться.

без проверки вводимых данных и т.д. вцелом можно сделать так:

<input type="text" name="Количество товара" value="1" onblur='rename(this, "good-7307-272,80-")'> шт.

<a href="#" id="good-7307-272,80-1" class="good-7307-272,80- addCart"><Добавить товар</a>

function rename(th, id) {

$("."+id).attr('id', id+th.value);

}

по идее может сработать.

а по теме - адовая архитектура получается.

вДропе.ру (http://vdrope.ru) — поиск слов в освобождающихся .ru и .рф доменах
RO
На сайте с 13.07.2009
Offline
88
#6

<div class="add_from_list"> 

<input type="text" name="Количество товара" value="1" id="lol"> шт.
<script>
function hz(id,val)
{
var str=id.split('-');
var n='';
for(var i=0;i<3;i++) n+=str+'-';
n+=val;
document.getElementById(id).id=n;
}
</script>
<a href="javascript:return false;" id="good-7307-272,80-1" class="addCart" onclick="hz(this.id,document.getElementById('lol').value);" >Добавить товар</a>
</div>

былокод шикарен? :D

ДП
На сайте с 23.11.2009
Offline
203
#7

Я не знаю зачем вам надо это делать именно так, но вот смотрите:

    $(document).ready(function(){

$("div.add_from_list input").keyup(function(){
var cnt = $(this).val();
var $link = $(this).next();
var old = $link.attr('id').split('-');
_l(old);
old[3] = cnt;
$link.attr('id',old.join('-'));
})
})

Это с помощью jquery.

Дикий пионер добавил 15.03.2011 в 23:52

хм, надо было обновить страничку перед ответом %)

[Удален]
#8

Еще раз всем спасибо)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий