0

次のように、ボタンをjqueryとajaxに置き換える方法をすでに理解しています。

$("#addButton").hide();
$('.form').show();

しかし、別のページに、それぞれが異なるデータをデータベースに送信する複数の送信ボタンを表示します。どのボタンがどれであるかを追跡する方法がわからないため、クリックするとそのボタンだけが消えますか?

ページは検索結果に基づいて動的に作成されるため、毎回異なる量のボタンがあります。要素の名前に変数を渡そうとしましたが、jquery 呼び出しでその変数を使用する方法がわかりませんでしたか?

どうすればこれを達成できるかについて、何かアイデアをお持ちでしたら、よろしくお願いします。

アップデート:

以下は、検索結果を表示する作成中のフォームと、ボタンをクリックして友達リクエストを送信するためのフォームです。

for($i = 0; $i<$numF;$i++){
                        $row = $resultF->fetch_assoc();
                        $friendName = $row['userName'];
                        $friendID = $row['userID'];

                        print "  
                                    <p> $friendName </p>
                                    <form method = \"post\" action = \"\" onsubmit =  \" return addFriend('$userID','$user','$friendName', '$friendID')\" >
                                         <input type = \"submit\" value = \"Send friend Request\" />    
                                    </form>


                                <hr>
                        ";

                    }

また、呼び出される関数は次のとおりです。

function addFriend(userID,user,friendName, friendID)
    {
        //run ajax
        var ajaxSettings = {
            type: "GET",
            url: "friendRequest.php",
            data: "uID="+userID+"&uName="+user+"&fName="+friendName+"&fID="+friendID,
            error: function(xhr, status, error) { alert("error: " + error); } };            

            $.ajax(ajaxSettings);

        return false;
     }
4

1 に答える 1

2

を使用して、どのボタンがクリックされたかを参照できますthis

$("button").click(function() {
    $(this).hide()
}

クリックしたボタンを非表示にします。それ以外は、十分な情報が提供されていないため、どうすればよいかわかりません。

于 2012-09-10T21:32:54.923 に答える