簡體   English   中英

m的模態更新后的加載下拉列表

[英]Loading dropdown list after modal for m is updated

我對MVC非常陌生,但是在Web表單中卻遇到了一個非常簡單的問題。 我在表單上有一個下拉列表。 我有一個按鈕,該按鈕可加載模式窗體,該窗體允許用戶將項目動態添加到數據庫。 然后,我需要使用表的新內容更新下拉列表。 我知道我需要ajax來執行此操作,但是我對如何啟動更新感到非常困惑!

我有下面的下拉菜單。

            <div class="form-group form-group-sm required">
                @Html.LabelFor(m => m.ListingData.Transmission, new { @class = "col-md-4 control-label" })
                <div class="col-md-8">                        
                    @Html.DropDownListFor(m => m.ListingData.Transmission, (SelectList)ViewBag.TransmissionList, new { @class = "form-control"} )
                    @Html.ValidationMessageFor(m => m.ListingData.Transmission, "", new { @class = "text-danger" })
                    <p class="form-text"><a data-modal='' href='@Url.Action("QATransmission", "Admin", new { ListingId = Model.ListingData.ListingId}))' id=''>Quick Add Manufacturer</a></p>
                </div>
            </div>

我在主頁中使用此ajax調用加載控制器中的列表代碼。

 $(function () {
        $.ajax({
            type: "GET",
            url: "Admin/LoadTransmissionList",
            data: JSON,
            cache: false,
            success: function (data) {
                $.each(data, function (index, value) {
                    $('#Transmission').append('<option value="' + value.TransmissionText + '">' + value.TransmissionText + '</option>');
                });
            }
        });
    });

這是我的列表的控制器代碼:

[HttpPost]
    public JsonResult LoadTransmissionList()
    {

        var lstTrans = db.Transmissions.ToList();
        List<SelectListItem> list = new List<SelectListItem>();


        foreach (Transmission p in lstTrans)
        {
            list.Add(new SelectListItem() { Value = p.TransmissionText.ToString(), Text = p.TransmissionText.ToString() });
        }


        return Json(list, JsonRequestBehavior.AllowGet);
    }

我有一個模式窗體,它有一個用於輸入新列表項的文本框。 我需要保存到數據庫,但是可以! 我無法提出重新加載列表框內容部分。 任何幫助!

謝謝!

1)像這樣進行代碼更改

    success: function (data) {
 $('#ListingData_Transmission').html("")
                    $.each(data, function (index, value) {
                        $('#ListingData_Transmission').append('<option value="' + value.TransmissionText + '">' + value.TransmissionText + '</option>');
                    });
                }

希望這應該現在工作

2)將表單作為部分視圖,每當將內容保存到DB時都重新加載它。

讓我知道是否有任何問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM