0

Web サイトのホームページの一部である div を構築しています。この div は、プロジェクトのリストを表示します。プロジェクトはすべて MySQL データベースに保存されます。私がやろうとしているのは、「削除」という各行の横にボタンを作成することです。削除をクリックすると、確認を求める jQuery UI ダイアログ ボックスが表示されます。がプロジェクトの削除を確認したら、プロジェクト ID を削除ページ (delete.php と呼びましょう) に送信する必要があります。

これまでに取り組んだこと

  • MySQL からプロジェクトのリストを取得し、それぞれを行として表示します
  • 各行の最後に削除ボタンを追加
  • 削除ボタンをクリックすると、確認を求めるダイアログボックスが表示されます
  • ユーザーがプロジェクトの削除を確認すると、削除ページに移動します。

これは私が立ち往生しているところです。削除ページで、プロジェクト ID をエコーし​​て、機能するかどうかを確認します。どういうわけか、delete.php ページは常に最初のプロジェクトの ID をエコーし​​ます。つまり、jquery は常に最初のプロジェクトの ID を送信します。

どうすればこの謎を解けるでしょうか?

$currents    =   new Project();
$currents    =   $currents->getProjects($_SESSION["user"], "finished");
echo "<table>";
foreach($currents as $current){
 echo "<tr><td>" . $current["name"] . "</td>
 <td><form method='post' class='deleteproject' action='/requests/request.php'/>
 <input type='hidden' name='projectid' value='" . $current['id'] . "' />
 <input type='button' value='Delete' class='deleteproject'></form></td></tr>";

}
echo "</table>";

これがjQueryです。

<script>
  $(function()
  {
      $( ".deleteproject" ).click(function() {
          $( "#dialogbox" ).attr('title', 'Are you sure you want to delete this project?').dialog({
              height: 100,
              width: 350,
              modal: true,
              buttons : {
                  "Confirm" : function() {
                      $('.deleteproject').submit();
                  },
                  "Cancel" : function() {
                      $(this).dialog("close");
                  }
              }
          });
          return false;
      });
  });
  </script>
4

1 に答える 1