Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха информатор 3.1
Еще более удобное оповещение о флуде!

Краснодарское время: 09 Февраль, 2012, 07:02:26

Страниц: [1] 2
Печать
Автор Тема: jQuery: к чему сделать привязку?..  (Прочитано 644 раз)
0 Пользователей и 1 Гость смотрят эту тему.
kolobok    ↓ 
31 Август, 2010, 02:05:58
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 41
Сила слова: 0

Есть итоговая корзина с товарами, список, напротив каждой позиции ссылка "удалить товар". Скрипт по моему мнению должен работать так: Если щелкнули по какой то ссылке, то скрипт берет значение id товара и кол-во этого товара, после чего передает эти параметры скрипту допустим delBasket.php, который в свою очередь обновляет таблицу в базе и получает новую сумму заказа. После чего тот самый jquery скрипт делает hide диву который мы удалили и обновляет сумму заказа.
Так вот вопрос, как этому скрипту считать данные id и кол-во товара и потом захайдить див?
Т.е например:
Java
$.ajax({
    type: "POST",
    url: "delBasket.php",
    data: "id="+$(".divBasket :input").val(),
- Я про последнюю строчку, ведь у меня весь список имеет один и тот же класс.
PS: Или я вообще не тем путем иду?
Записан

Chiffa    ↓ 
31 Август, 2010, 02:20:55 , спустя 14 минут 57 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 21
Сообщений: 459
Сила слова: 4.58

во-первых есть готовая функция $.post, как по мне она удобней
Javascript
$.post('delBasket.php', {id: $(".divBasket :input").val()}, function(){//спрятали див, обновили сумму});

а id товара можно передать кучей способов, самый простой (первый пришедший в голову) зашить его в id ссылки которая "delete item"
Записан

Иногда решительный шаг вперед - следствие ощутимого пинка под зад...
ALL code is ugly. Yours, mine, everyone's. Code Is Ugly. Just face it.
kolobok    ↓ 
31 Август, 2010, 02:44:51 , спустя 23 минуты 56 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 41
Сила слова: 0

Я только разбираюсь с jquery, яваскрипт подавно не знаю... Вроде как .ajax самый полный метод который включает в себя и пост и гет. Просто на нем пример похожий попался поэтому его и использую.
id допустим зашью в ссылку, при убирании дива понимаю, что можно будет найти див, составив конструкцию типа ..contains(id=), а как активировать скрипт .ajax чтобы он при этом из нужного дива захватил параметры?
Записан

Chiffa    ↓ 
31 Август, 2010, 02:52:40 , спустя 7 минут 49 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 21
Сообщений: 459
Сила слова: 4.58

ну вот можно извратиться как-то так... попробуйте адаптировать под себя
HTML
<div id="basketItem_1">Хренотень Улучшенная <span class="count">3</span> шт. <a href="" id="1" class="deleteMe">Удалить</a></div>
Javascript
$('a.deleteMe').click(function(){
    $getJSON(
        'delBasket.php',
        {id: $(this).attr('id'), count: $('#basketItem_'+$(this).attr('id')+' .count').text()},
        function(data){
            /*спрятали див basketItem_+data.id
            подставили в сумму data.newSum
            */

        });
});
конечный скрипт будет сильно зависеть от вашей верстки. почитайте про селекторы в jquery там можно достать почти всё почти отовсюду :)
Записан

Иногда решительный шаг вперед - следствие ощутимого пинка под зад...
ALL code is ugly. Yours, mine, everyone's. Code Is Ugly. Just face it.
Stasovsky    ↓ 
31 Август, 2010, 03:12:44 , спустя 20 минут 4 секунды
НЕ ХУЕТА! ХУЕТА!

Сенсей XD
Группа: Джедаи

Карма: 47
Сообщений: 3255
Сила слова: 1.44

мб лучше так - count: $(this).find('.count').text()
Записан
Sinkler    ↓ 
31 Август, 2010, 03:14:46 , спустя 2 минуты 2 секунды
НЕ ХУЕТА! ХУЕТА!

Похуй, пляшем!
Группа: Джедаи

Карма: 60
Сообщений: 6090
Сила слова: 0.99

когда делаешь что-то в базе - надо всегда знать, выполнено ли это что-то или нет. например, если товар удален из корзины - то только тогда удалять из списка на странице. если нет - сообщить юзверю, мол, облом.
Записан

Stasovsky    ↓ 
31 Август, 2010, 03:16:37 , спустя 1 минуту 51 секунду
НЕ ХУЕТА! ХУЕТА!

Сенсей XD
Группа: Джедаи

Карма: 47
Сообщений: 3255
Сила слова: 1.44

ой-ой)) чет не дописал))
count: $(this).parent().find('.count').text()
Записан
Chiffa    ↓ 
31 Август, 2010, 03:35:08 , спустя 18 минут 31 секунду
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 21
Сообщений: 459
Сила слова: 4.58


мб лучше так - count: $(this).find('.count').text()
тоже вариант.. может даже надежней будет))
Записан

Иногда решительный шаг вперед - следствие ощутимого пинка под зад...
ALL code is ugly. Yours, mine, everyone's. Code Is Ugly. Just face it.
Абырвалг    ↓ 
31 Август, 2010, 04:15:56 , спустя 40 минут 48 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 79
Сообщений: 5818
Сила слова: 1.36

оспади исусе, что с вами?
Javascript
$('.count', this).text();
Спустя 1 минуту 12 секунд добавил
http://brandonaaron.net/blog/2009/06/24/understanding-the-context-in-jquery
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
Chiffa    ↓ 
31 Август, 2010, 04:20:42 , спустя 4 минуты 46 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 21
Сообщений: 459
Сила слова: 4.58

Абырвалг, йопт, точна!
Записан

Иногда решительный шаг вперед - следствие ощутимого пинка под зад...
ALL code is ugly. Yours, mine, everyone's. Code Is Ugly. Just face it.
phpdude    ↓ 
31 Август, 2010, 04:22:32 , спустя 1 минуту 50 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 339
Сообщений: д-о-х-у-я!
Сила слова: 1.72

bots
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
kolobok    ↓ 
02 Сентябрь, 2010, 12:53:31 , спустя 1 день 20 часов 30 минут 59 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 41
Сила слова: 0

Потестил все варианты. Вариант Chiffa  и Stasovsky  работает, вариант Абырвалг'а - нифига.
Javascript

<script type = "text/javascript">
$('a.deleteMe').click(function(){
//работает   
//var msg = $('#basketItem_'+$(this).attr('id')+' .count').text();
//тоже работает
    //var msg = $(this).parent().find('.count').text();
//не работает 
//var msg = $('.count', this).text();
    alert(msg);
});
 
Записан

Абырвалг    ↓ 
02 Сентябрь, 2010, 01:05:12 , спустя 11 минут 41 секунду
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 79
Сообщений: 5818
Сила слова: 1.36

попробуй this в $() обернуть
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
kolobok    ↓ 
02 Сентябрь, 2010, 01:24:00 , спустя 18 минут 48 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 41
Сила слова: 0

Не помогло, вот так сработало $('.count', $(this).parent()).text();
Записан

Stasovsky    ↓ 
02 Сентябрь, 2010, 03:14:19 , спустя 1 час 50 минут 19 секунд
НЕ ХУЕТА! ХУЕТА!

Сенсей XD
Группа: Джедаи

Карма: 47
Сообщений: 3255
Сила слова: 1.44

по примеру Главрыба надо так
Javascript
var parent = $(this).parent();
$('.count', parent).text();
ну по крайней мере у меня все норм...
Записан
Страниц: [1] 2
Печать
 

Перейти в: