Jump to content
  • 0

Подскажите с ajax


maxem
 Share

Question

Добрый день. Сразу хочу извиниться если объясню суть проблемы некорректно. Я не силен в java и т.п. По примерам у меня получилось сделать следующее...

Я создал запрос на ajax

$('.ajaxprice').click(function () {				//Биндим клик по классу ajaxprice
var cityid = this.id.split('_')[1]; //Смотрим id и берем из него код продукта
poststr="price_smtovar="+cityid; //Формируем POST
$.ajax( //Отправляем
{
type: "GET",
url: "/ajax_price.php",
data: poststr,
success:
function (html) //Обрабатываем ответ
{
var tewq = html.split(":")[1];
}
});
return false;
});

обработал на сервере и в переменной var tewq = html.split(":")[1]; получил нужный ответ (id статьи например 110)

Теперь мне нужно id статьи вставить в ссылку.

Например <a href=index.php&id=(РЕЗУЛЬТАТ ЗАПРОСА AJAX)>

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

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Не знаю сработает ли это в jQuery, но на js примерно так:

document.getElementById('idLink').setAttribute('href', 'index.php?id=' + html.split(":")[1]);

Соответственно ссылке сначала нужно присвоить id, который будет передаваться в getElementById().

Link to comment
Share on other sites

  • 0

Спасибо, очень помогли.

У меня еще вопрос.

Вот ссылка которую мне нужно изменить:

<a onclick="$('#product').submit();" id="tocart_РЕЗУЛЬТАТ ЗАПРОСА AJAX" href="#TB_inline?height=90&width=310&inlineId=dialog&modal=true" class="ajaxcart thickbox button"><span>{$smarty.const.ADD_TO_CART_STRING}</span></a>

По вашим подсказкам я сделал так

В JS:

document.getElementById('qwq').setAttribute('id', 'tocart_' + html.split(":")[1]);

В HTML

<a onclick="$('#product').submit();" href="#TB_inline?height=90&width=310&inlineId=dialog&modal=true" class="ajaxcart thickbox button" id="qwq"><span>{$smarty.const.ADD_TO_CART_STRING}</span></a>

При первом запросе все ок и id="qwq" благополучно заменяеться на id="tocart_РЕЗУЛЬТАТ ЗАПРОСА AJAX". Но если я посылаю 2 запрос и результат другой, теперь мне нужно заменить id="tocart_РЕЗУЛЬТАТ ЗАПРОСА AJAX" на id="tocart_НОВЫЙ РЕЗУЛЬТАТ".

Может можно сделать так

document.getElementById('tocart_'см ниже).setAttribute('id', 'tocart_' + html.split(":")[1]);

Как написать выражение 'tocart_' и любые 1-5 цифр? И будет ли это вообще работать?

Edited by maxem
Link to comment
Share on other sites

  • 0

А зачем у ссылки id менять? Если в ссылке нужно хранить какую-то информацию, то можно добавить к ней свой атрибут. Например:

//Запись информации в свой атрибут
document.getElementById('idLink').setAttribute('myInfo', 'Информация, которую нужно хранить');

//Поучение информации из своего атрибута
var myValue = document.getElementById('idLink').getAttribute('myInfo');

Если записывать число, которое потом будет прибавляться, вычитаться и т.д, то нужно будет при получении привести его к числовому типу. Подробнее об этом здесь.

Edited by ZI DAN
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy