2012-09-02 1 views
2

Расскажите немного о моем скрипте. Он создает рендеринг php/html запросов друга. Как вы, возможно, знаете, может быть от одного до многих запросов друзей одновременно. Прямо сейчас мой сценарий jQuery работает только для первого, поэтому мне нужно некоторое руководство для работы двух функций.jQuery выбор divs, когда есть 2.

Обратите внимание, что у моего div есть разные идентификаторы для каждого человека.

FIrst вот мой HTML

<div class='fRequest'> 
<h3>Pending Friend Requests:</h3><div class='friendRequest' id='0'><img src='[url]' alt='Charles Williamson'/> Charles Williamson<a id='4' class='friendConfirm' href='#' 
     style='border:1px solid #dadada; background:#fff; margin-left: 
     10px; line-height: 60px; padding: 4px 4px; color:gray; text-decoration:none;'> 
     Confirm</a></br></div><div class='friendRequest' id='1'><img src='[url]' alt='Rachel Cole'/> Rachel Cole<a id='5' class='friendConfirm' href='#' 
     style='border:1px solid #dadada; background:#fff; margin-left: 
     10px; line-height: 60px; padding: 4px 4px; color:gray; text-decoration:none;'> 
     Confirm</a></br></div></div> 

Во-вторых, вот мой JQuery.

$(document).ready(function(){ 
    $(".friendAdded").css('display', 'none'); 

    var frid = $(".friendConfirm", ".friendConfirm").attr('id'); 

    $(".friendConfirm#"+frid).click(function(){ 

     $.get("JSON/addFriend.php?fid="+frid, 
      function(data){ 
      $(".friendAdded").append(data); 
      $(".friendAdded").show() }) 
    }); 
    $(".closeOwe").click(function(){ 
     $(".friendAdded").css('display', 'none') 
     location.reload(); 
     }); 

}); 

Как я могу заставить этот код работать для обоих или многих запросов друзей.

PS. Я довольно новичок в jquery, так что все еще учась. Не удалось найти учебники для этого.

Спасибо за любую помощь, которую я могу получить.

+0

честно, я не понимаю, что это вы «пытаюсь сделать. Можете ли вы объяснить, шаг за шагом, что должно произойти? И что вы пытаетесь получить/выбрать? –

+0

'Не удается найти учебники для этого.' На веб-сайте jQuery имеется обширная документация с примерами кода о том, как использовать что-то для большинства из них. http://docs.jquery.com/Main_Page, селекторы: http://api.jquery.com/category/selectors/, события: http://api.jquery.com/category/events/. – Nope

ответ

2

Bind обработчик .click() события для всех элементов с классом friendConfirm, а затем сростить щелкнули элемент id, на который ссылается this.id, к $.get() URL:

$(document).ready(function(){ 
    $(".friendAdded").css('display', 'none'); 

    $(".friendConfirm").click(function() { 
     $.get("JSON/addFriend.php?fid="+this.id, 
      function(data) { 
       $(".friendAdded").append(data); 
       $(".friendAdded").show() 
      } 
     ); 
    }); 

    $(".closeOwe").click(function() { 
     $(".friendAdded").css('display', 'none') 
     location.reload(); 
    }); 
});​ 
+0

Сладкий. Не был уверен, что это было. Полезно знать для дальнейшего использования! –

+0

Да. '.click()' свяжет обработчик события с * всеми * элементами, которые соответствуют селектору, поэтому нет необходимости связывать каждый «id» в отдельности. –

Смежные вопросы