Как заставить работать ссылку после загруки ajax
имею следующий код
после загрузки ajax на странице в боксе изменяется текст в котором есть ссылка после загрузки ссылка не работает если страницу обновить работает. как заставить ее работать в любом случае? ссылка имеет ввид Код:
<a onclick="$('#delproduct').submit();" id="del_to_cart"><img src="remove_btn.gif" /></a>
$(document).ready(function () {
$('#add_to_cart').replaceWith('<a onclick="" id="add_to_cart">' + $('#add_to_cart').html() + '</a>');
$('#add_to_cart').click(function () {
$.ajax({
type: 'post',
url: 'index.php?route=module/cart/callback',
dataType: 'html',
data: $('#product :input'),
success: function (html) {
$('#module_cart .rightcar').html(html);
},
complete: function () {
var image = $('#image').offset();
var cart = $('#module_cart').offset();
$('#image').before('<img src="' + $('#image').attr('src') + '" id="temp" style="position: absolute; top: ' + image.top + 'px; left: ' + image.left + 'px;" />');
params = {
top : cart.top + 'px',
left : cart.left + 'px',
opacity : 0.0,
width : $('#module_cart').width(),
heigth : $('#module_cart').height()
};
$('#temp').animate(params, 'slow', false, function () {
$('#temp').remove();
});
}
});
});
});
|
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Есть статья на эту тему.
http://www.linkexchanger.su/2008/73.html |
Спасибо!
прочитал, но увы ничего пока не получается. Даже не знаю что рыть. наверное не очень корректно изложил проблему. Постараюсь более подробно. страница с товаром нажимаю на кнопку купить товар летит в карзину, карзина на этой же странице в правом боксе, в ней появляется товар. возле наименования товара кнопка удалить. Вот она то и не работает. если добавить товар в корзину и обновить страницу тогда товар удаляется, если удалять сразу после добавления удаляется но с этой страницы переходит на страницу корзины. А мне нужно что бы удалялся и оставаться на этой же странице. Да Ваша статья вроди-бы и рассматривает эту же проблему однако у меня ничего не получается. подскажите правильно ли я понимаю вот в этой секции:
success: function (html) {
$('#module_cart .rightcar').html(html);
}
я получаю код который должен быть вставлен в страницу после нажатия кнопки добавить товар.
$('#module_cart .rightcar').html(html);
после чего мне нужно установить обработчик submit() но когда я нажимаю кнопку удалить товар же удаляется и переходит на другую страницу. значит submit() работает но кнопка имеет такой код:
<a onclick="$('#del_to_cart').submit();" id="del_to_cart">
при нажатии скрипт должен перейти сюда:
$('#del_to_cart1').replaceWith('<a onclick="" id="del_to_cart1">' + $('#del_to_cart1').html() + '</a>');
$('#del_to_cart1').click(function () {
$.ajax({
type: 'post',
url: 'index.php?route=module/cart/delcallback',
dataType: 'html',
data: $('#delproduct1 :input'),
success: function (html) {
$('#module_cart .rightcar').html(html);
}
});
});
});
|
Попробуйте обработчик ссылки на удаление поместить в блок success: функции добавления. Т.е. примерно так:
success: function (html) {
$('#module_cart .rightcar').html(html);
$('#del_to_cart1').click(function () {
$.ajax({
type: 'post',
url: 'index.php?route=module/cart/delcallback',
dataType: 'html',
data: $('#delproduct1 :input'),
success: function (html) {
$('#module_cart .rightcar').html(html);
}
});
});
},
То есть скорее всего, ссылка загруженная через ajax не инициализирована. В функции success ее можно оживить. Это так, на вскидку. |
да при нажатии кнопки удалить вижу товар удаляется, но опять переходит на другую страницу. видемо при втором запросе ajax я просто успеваю увидеть это.
|
пробую в загружаемую ссылку изменить
<a onclick="javascript:alert(\'ok\')" id="del_to_cart"> alert работает. |
| Часовой пояс GMT +3, время: 21:56. |