Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Передача индивидуальных ID у одинаковых class - Jquery Ajax
 
 автор: tima2010   (13.01.2012 в 19:34)   письмо автору
 
 

Привет! Есть список элементов на странице которые строятся динамически, данные берутся из СУБД

В виде HTML это выглядит примерно так:


<a href='' class='add' id='1'>Название 1</a>
<a href='' class='add' id='2'>Название 2</a>
<a href='' class='add' id='3'>Название 3</a>
<a href='' class='add' id='4'>Название 4</a>
<a href='' class='add' id='5'>Название 5</a>


пишу функцию передачи ID в файл обработчик:


    $('.add').click(function(){  
        $.ajax({
            type: "POST",  
            url: "add.php",  
            data: "id="+$(this).attr('id'),  
            success: function(html){  
                $('.add').html(html);  
            }
        });  
        return false;  
    });


нужно сделать так чтобы после нажатия, название менялось на результат который произвел обработчик, то есть если мы нажали на Название 1 то результат который вернулся был отображен заместо Название 1

Проблема в том, что при событии click все работает но результат меняется у ВСЕХ элементов с классом .add ... а нужно только чтобы менялось у выбранного ID
Так вот как это указать?

  Ответить  
 
 автор: Igorek   (15.01.2012 в 10:07)   письмо автору
 
   для: tima2010   (13.01.2012 в 19:34)
 

так обращайтесь по ID к элементу

  Ответить  
 
 автор: tima2010   (16.01.2012 в 22:00)   письмо автору
 
   для: Igorek   (15.01.2012 в 10:07)
 

они меняются постоянно

  Ответить  
 
 автор: Igorek   (17.01.2012 в 09:40)   письмо автору
 
   для: tima2010   (16.01.2012 в 22:00)
 

ну вы же знаете какой элемент инициировал событие onclick() - вы передаете ID этого элемента. Что вам мешает по-этому же ID потом обратиться к нему?

  Ответить  
 
 автор: tima2010   (17.01.2012 в 11:02)   письмо автору
 
   для: Igorek   (17.01.2012 в 09:40)
 

Вот это я и не могу понять :( по идеи нужно заменить
 $('.add').html(html);

на
 $(this).html(html);   


но не работает такая конструкция :(

  Ответить  
 
 автор: Igorek   (17.01.2012 в 11:21)   письмо автору
 
   для: tima2010   (17.01.2012 в 11:02)
 

эммм... а если так:
$('.add').click(function(){   
        var th = this;
        $.ajax({ 
            type: "POST",   
            url: "add.php",   
            data: "id="+$(this).attr('id'),   
            success: function(html){   
                $(th).html(html);   
            } 
        });   
        return false;   
    }); 

  Ответить  
 
 автор: tima2010   (17.01.2012 в 11:29)   письмо автору
 
   для: Igorek   (17.01.2012 в 11:21)
 

Да спасибо! странно что не работало до этого

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования