これは私の以前の質問に関連しています: How to add onclick function for programmatically created button .
現在、2 つのテキスト ボックス、ボタン、および非表示のテーブルを含むフォームがあります。ボタンをクリックすると、テーブルが表示され、行が追加され、2 つの列にテキスト ボックスの値が表示され、3 番目の列に削除ボタンが表示されます。削除ボタンをクリックすると、選択した行を削除できるようになりました。私の新しい問題は、データベースを更新できるように、1 列目と 2 列目のデータを取得するにはどうすればよいかということです。
JSON を使用してデータベースを更新します。これが私が現在持っているコードです:
$("#addToDisplay").click(function (event) {
$("#tblProducts").removeClass("hide");
var counter = 1;
event.preventDefault();
counter++;
var prod = {prodName: $("#txtProducts").val(), prodQty: $("#txtQty").val()}
$.ajax({
type: "POST",
traditional: true,
url: "/Service/JsonUpdateProduct",
dataType: "json",
data: prod,
success: function (result) {
var newRow = "<tr><td id='rowProd" + counter + "'>" + $("#txtProducts").val() + "</td><td id='rowQty" + counter + "'>" + $("#txtQty").val() + "</td><td><input type='button' value='Remove' id='btnRemove" + counter + "' class='remove' /></td></tr>";
$("#tblProducts").append(newRow);
$("#tblProducts").on("click", ".remove", function () {
$(this).closest("tr").remove();
var rowCount = $("#tblProducts tr").length;
var removeProd = {revertName: $("#rowProd" + counter).val(), revertQty: $("#rowQty" + counter).val()}
$.ajax({
type: "POST",
traditional: true,
url: "/Service/JsonRemoveProduct",
dataType: "json",
data: removeProd,
success: function (result) {
if (rowCount == 1) {
$("#tblProducts").addClass("hide");
}
}
});
$("#productQty").val("");
$("#autoCompleteText").val("");
});
}
});
});
私はそのコードを試してきましたが、エラーを引き起こす数量の null 値しか得られません。では、選択した行から選択した ProductName と Quantity のデータを正確に取得するにはどうすればよいですか?
私は基本的にこのようなものを取得しようとしています:
var data = { prodName: $("#selectedRowCell1")}
そのため、それをクラスのメソッドに渡してデータベースを更新できます。
また、別のテーブルの現在の Id を取得し、それを別のテーブル + 1 に挿入することは可能ですか? 次のようなもの:
Select id from Details
then
Update Products set detailId = Details.id + 1
? 私はすでに試したので、これがうまくいかないことを知っています。では、このようなことは可能なのでしょうか?