0

ID-Name-Button 列を含む HTML/PHP のテーブルを作成しました。ここで、特定の行へのボタンがクリックされたときに、文字列を作成して文字列に含まれるリンクを開く関数を呼び出したいと思います。

私が持っている2つの問題は次のとおりです。

  1. ボタンの現在のテーブル位置を取得し、最初の 2 つのセルのデータを取得するにはどうすればよいですか?

  2. そのデータをJavaScript関数に渡してから返すにはどうすればよいですか? (私はURLを構築する方法とすべての機能を持っています。それを完成させるにはテーブルデータが必要です)

これらがばかげた質問のように思われる場合は申し訳ありません。私はPHP/Javascriptに非常に慣れていません。

編集:これが私がテーブルを生成する方法です(ちなみに、Facebook関連で、友達のリストを作成します):

echo "<form id='xy' method='post' action='index.php'>";
echo "<table><tbody><tr><th>ID</th><th>Name</th><th>Button</th>";

    for ($i = 0; $i < count($friends[data]); ++$i)
    {

        echo "<tr><td>".$friends[data][$i]["id"]."</td><td>".$friends[data][$i]["name"]."</td><td><input type='submit' onClick='BuildFeedURL()' value='Nachricht senden (FeedDialog)'/></td></tr>";
    }
    echo "</tbody></table>";
    echo "</form>";

}
4

2 に答える 2

0

jqueryで簡単に

 $('button').click(function(){
 var td= $(this).closest('tr').find('td');
 var id=$(td[0]).html();
 var name=$(td[1]).html();
 var yourstring = 'id="'+id+'" name="'+name+'"';
 alert(yourstring);
 });

デモ

于 2013-09-09T09:30:30.257 に答える
0

Boehmi、誰も愚かではありません。どちらの問題も、JQUERY を使用して簡単に解決できます

その前に、html を少し更新する必要があります。

echo "<tr><td class='fids'>".$friends[data][$i]["id"]."</td><td class="fname">".$friends[data][$i]["name"]."</td><td><input type='submit' onClick='BuildFeedURL(this)' value='Nachricht senden (FeedDialog)'/></td></tr>";

thistd とbuildfeedurl(this); に追加されたクラスに注意してください。input type='submit'javascriptを使用してページをリダイレクト/リロードできるため、なぜ使用したのかわかりません。

jquery のfindの使用:

buildfeedurl(obj) {
 var fid = $(obj).parent().parent().find('.fid').html();    // .html() can be replaced with .text() too
 var fname = $(obj).parent().parent().find('.fname').html();    // .html() can be replaced with .text() too
    {
      // do your processing of url building
    }

    // here you can redirect to your required URL
    window.location.href = "http://stackoverflow.com";
}

別の関数に値を渡す必要はありません....

于 2013-09-09T09:38:47.567 に答える