2

最初に私のスクリプトについて少しお話ししましょう。友達リクエストの php/html レンダリングを作成します。ご存知かもしれませんが、一度に 1 人から多数の友達リクエストが送信される場合があります。現在、私の jQuery スクリプトは最初の 1 つに対してのみ機能するため、2 対多の機能を機能させるにはいくつかのガイダンスが必要です。

私の div には、人ごとに異なる ID があることに注意してください。

まず、ここに私の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>

2 つ目は、私の 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にかなり慣れていないので、まだ学んでいます。このためのチュートリアルを見つけるのに苦労しています。

私が得ることができる助けをありがとう。

4

1 に答える 1

2

.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();
    });
});​
于 2012-09-02T14:46:05.693 に答える