Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> jQuery $.fn + ajax =callback this, получить доступ к this в callback 
:(
    Опции темы
php5
Дата 14.3.2009, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 15.8.2007

Репутация: нет
Всего: нет



Хочу создать  свой  метод обертку  который  бы при вызове  с помощью  ajax подгружал  данные с сервера  и потом устанавливала бы для  элемента для которого была  вызвана функция-обертка  нужны параметры, но тут  стакнулся с проблемой получения в функции  обратного вызова для  ajax  доступа к объекту, как это можно решить ?
Код

(function($){  // метод-обертка    
     $.fn.myF=function(){
      if(this.attr("id")=='fileList')
        $.post("test.php",{patch:'root'},$. myF _handler);
          else
            alert("children");
    }

  })(jQuery);    

(function($){  //
    $. myF _handler=function(data){
Здесь нужно получить доступ к  элементу    для которого вызывается   метод-обертка         
  //alert($(this).attr("id")); 
    }

  })(jQuery);

PM MAIL   Вверх
IDVsbruck
Дата 14.3.2009, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 8
Всего: 22



Вводить глобальную переменную и устанавливать в опции beforeSend. Правда, прийдется использовать не post, а ajax - кстати, эта функция мне нравится намного больше.
Если же функции не пересекаются в одном пространстве, то можно передавать id на сервер, а затем "поднимать" ее из полученных данных.
PM MAIL   Вверх
php5
Дата 14.3.2009, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 15.8.2007

Репутация: нет
Всего: нет



Сделала так : 
Код


(function($){  // метод-обертка    
     $.fn.myF=function(){
     var _this=this;
      if(this.attr("id")=='fileList')
        $.post("test.php",{patch:'root' ,function(data){   
         alert(_this. attr("id"))    
}  
);
          else
            alert("children");
    }

  })(jQuery);    

После чего в   функции  обратного вызова  получил доступ к  элементу , и вот теперь меня интересует вопрос,  имеет ли переменная  _this локальную  область видимости ,  что бы не получилось так,  что  если вызвать одновременно   myF для  разным  элементам  _this  не указывало на  последний элемент 

PM MAIL   Вверх
IDVsbruck
Дата 16.3.2009, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 8
Всего: 22



Угу, локальная переменная. Или выводить в глобальную зону видимости, или передавать через сервер.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0519 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.