Работа с добавленными элементами Jquery в MVC - PullRequest
0 голосов
/ 21 сентября 2018

Я пытаюсь сделать заявку на выставление счета.Теперь, когда я заставляю пользователей добавлять новые строки в накладную, я предоставляю раскрывающийся список, в котором они могут выбрать продукт, а затем с помощью 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>`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...