Я пытаюсь сделать заявку на выставление счета.Теперь, когда я заставляю пользователей добавлять новые строки в накладную, я предоставляю раскрывающийся список, в котором они могут выбрать продукт, а затем с помощью jquery получает всю другую информацию, такую как цена, скидка и т. Д., Из базы данных.Это работает нормально.Теперь, сохраняя остальную информацию как есть, я должен предоставить кнопку ДОБАВИТЬ, чтобы добавить больше строк продуктов и, наконец, вставить всю информацию в БД.Я частично смог сделать это с помощью jquery несколькими способами, такими как методы «клон» или «добавить».Это приводит к созданию новых строк идеально.Я тоже успешно меняю идентификаторы элементов.Теперь, поскольку сгенерированный вывод представляет собой DOM, а не фактическую разметку HTML, я не могу обойтись, чтобы фактически использовать вновь созданные идентификаторы элементов управления или значения для внесения дальнейших изменений.Также, как я получу значения всех новых строк и передам их контроллеру для вставки в базу данных.Я действительно смущен.Я знаю, что это отсутствие полного понимания концепций, но если кто-то может пролить свет, это будет здорово.Спасибо.
`
Метод Jquery, который я использую для добавления частичного представления
function AddRows(e) {
$.ajax({
async: true,
type: 'GET',
dataType: 'html',
url: '/CreateInvoices/Creator',
data: { incr: e },
success: function (data) {
$("#datarow").append(data);
alert(data);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
}
});
}
Обработка функции изменения« продуктов »
$('.Prods').change(function () {
$.get("/CreateInvoices/GetProductInfo",
{ ProductId: $("#prodid").val() },
function (data) {
$("#price").empty();
$.each(data, function (index, row) {
$("#price").val(row.PricePerUnit);
discid = row.DiscountId;
});
alert($('#price')[0].id);
$.get("/CreateInvoices/GetDiscountInfo",
{ DiscountId: discid },
function (data) {
$("#disc").empty();
$.each(data, function (index, row) {
$("#disc").val(row.DiscountNo);
});
});
});
});
});
Вызов частичного просмотра
<table id="datarow">
@Html.Partial("_Inv")
</table>
Мой частичный просмотр
<tr>
<td>
@Html.DropDownList("ProductId", null, "-- Select Product --", htmlAttributes: new { @id = "prodid" + @ViewBag.y, @class = "Prods" })
</td>
<td>@Html.TextBox("Price", "", htmlAttributes: new { @id = "price" + @ViewBag.y, @class = "my-form-control" })</td>
<td>@Html.TextBox("Qty", "", htmlAttributes: new { @id = "qty" + @ViewBag.y, @class = "my-form-control" })</td>
<td>@Html.TextBox("Discount", "", htmlAttributes: new { @id = "disc" + @ViewBag.y, @class = "my-form-control" })</td>
<td><input type="text" class="my-form-control" /></td>
<td>
<input id="btnAdd" type="button" onclick="AddRows(@ViewBag.y)" value="+" />
@if (ViewBag.y is null || ViewBag.y <= 0)
{
//
}
else
{
<input id="btnRem1" type="button" value="-" onclick="RemoveTextBox(this)" />
}
</td>
</tr>`