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>