Необходимо передать переменные на удаленную страницу, если указать значения явно то все работает, но надо брать значения из переменных. так не работает [js]... $('.add_btn').click(function(){ var k = $('.add_input').attr('value'); }); $('.add_btn_t').click(function(){ var i = $(this).attr('name'); }); $('#popup_bag').load('http://zamanpharm.kz/dub/templates/bt_okto/zak.php',{id:i, koll:k}); ...[/js] так работает [js]... $('.add_btn').click(function(){ var k = $('.add_input').attr('value'); }); $('.add_btn_t').click(function(){ var i = $(this).attr('name'); }); $('#popup_bag').load('http://zamanpharm.kz/dub/templates/bt_okto/zak.php',{id:"123", koll:"9000"}); ...[/js]
я jquery плохо знаю. точнее пока совсем не знаю. Не знаю чего делает load. Но мне кажется, если тебе надо чтоб этот load происходил после нажатия на кнопку, то load вставить внутрь функции. Или сделать отдельную функцию с load и вызывать её из этих двух функций хотя тебе наверное что то другое надо
все так и сделал, но переменные не получают значения вот весь скрипт: [js]var i, k; $(document).ready(function(){ $.fn.alignCenter = function() { var marginLeft = - $(this).width()/2 + 'px'; var marginTop = - $(this).height()/2 + 'px'; return $(this).css({'margin-left':marginLeft, 'margin-top':marginTop}); }; $.fn.togglePopup = function(){ if($('#popup_bag').hasClass('hidden')) { $('#popup_bag') .html($(this).html()) .alignCenter() .toggleClass('hidden'); } else { $('#popup_bag').toggleClass('hidden'); } }; $.fn.togglePopup2 = function(){ if($('#popup_add').hasClass('hidden')) { $('#popup_add') .html($(this).html()) .alignCenter() .toggleClass('hidden'); $('.add_btn').click(function(){ k = $('.add_input').attr('value'); }); } else { $('#popup_add').toggleClass('hidden'); } }; $('.add_btn_t').click(function(){ i = $(this).attr('name'); }); $('#popup_bag').load('http://zamanpharm.kz/dub/templates/bt_okto/zak.php',{id:i, koll:k}); }); [/js]
я так понимаю, что в этом коде значение переменной i присвоится после нажатия на кнопку. А load срабатывает сразу... еще до этого. Ведь $('.add_btn_t').click(function(){ ... по моему только подписывается на событие click и сама функция click сработает только после нажатия на кнопку. А следующая строка выполняется сразу после подписывания
Ты в каком нибудь дебаге попробуй поставить брекпоинты на 46 и 49 строку и посмотри кто раньше срабатывает
и вправду, чето я не доглядел, поместил [js]$('#popup_bag').load('http://zamanpharm.kz/dub/templates/bt_okto/zak.php',{id:i, koll:k});[/js] внутрь [js]$.fn.togglePopup2 = function(){[/js] и все срабатывает как нада guest2013, спасибо за разбор
Если честно я не понял сценарий, который должен происходить. Ну что и в какой последовательности нажимает пользователь и что при этом происходить должно.