Как отправить идентификатор этого якоря в качестве параметра функции? - PullRequest
0 голосов
/ 12 октября 2009

Редактировать: Извините, ребята, у меня проблема, имя класса с ошибкой: (* ​​1002 *
Эй, у меня тут быстрый вопрос к вашим парням. У меня есть несколько якорных тегов, каждый из которых указывает на URL определенного пользователя. Идентификатор ссылки - это имя пользователя. Все ссылки имеют общий класс CSS (.userset). Когда пользователь щелкает ссылку, мне нужно отправить Ajax-запрос, используя метод jQuery.ajax, к ресурсу сервера, передавшему идентификатор ссылки. Вот как выглядит мой код:
JS

 $(".columnist_set .img").click(function() {

        alert("this.id =" + this.id);
        var x = track(this.id);
});

Кажется, это не работает для меня! this.id всегда неопределен
Да, я чувствую, что мне чего-то не хватает, так чего же мне не хватает, дорогой Гас?

Ответы [ 5 ]

1 голос
/ 12 октября 2009

Читая ваш запрос, я чувствую некоторую путаницу.

Ваш запрос говорит:

У меня есть несколько якорных тегов каждый из них указывает на URL определенный пользователь.

Этим предложением вы имеете в виду, что в вашем коде много <a>, а атрибут href указывает на какой-то управляемый пользователем путь.

Идентификатор ссылки - это имя пользователя. Все ссылки делятся на css класс (.userset).

Больше информации, почему бы и нет. Ваш тег теперь должен выглядеть в моем уме как <a class=".userset" id="myUserName" href="./some/url">content</a>

Когда пользователь нажимает ссылка мне нужна для выдачи Ajax запрос - с помощью метода jQuery.ajax- ресурс сервера, передающий идентификатор ссылка

Давайте добавим событие клика:

   //all the anchor tags with "userset" class
   $('a.userset').click(
      function(){
          //doing the ajax call
          $.ajax({
              type: "POST",
              url: $(this).attr("href"),      //picking the href url from the <a> tag
              data: "id=" + $(this).attr("id"),    //sanitize if it's a free-inputed-string
              success:
                function(result) {
                    alert("I AM THE MAN! Data returned: " + result);
                }
              }
          );
      }
   );

Учитывая сказанное, я не могу понять, на что ссылается ваш код JavaScript (со ссылками на .img класс ?).

Надеюсь, мой ответ хоть немного помог.

1 голос
/ 12 октября 2009

Вы можете попробовать

$(this).attr("id");
1 голос
/ 12 октября 2009

Вы можете попробовать это:

$(".userset").click(function() {
   var x = track($(this).attr("id"));
});
1 голос
/ 12 октября 2009

Редактировать (Я был на неправильном пути из-за некоторых, вероятно, неправильных предположений)

Попробуйте следующее:

$(".columnist_set .img").click(function() {
        var id = $(this).attr("id");
        alert("id =" + id);
        var x = track(id);
});
0 голосов
/ 12 октября 2009

Проблема в том, что я неправильно написал имя класса, так что возвращенный упакованный набор моего селектора не определен. Спасибо всем за помощь, хотя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...