Об установке значения по умолчанию html .dropdownlist - PullRequest
0 голосов
/ 06 января 2020

Я делал сайт, который может сравнивать таблицу данных. Пользователь может выбрать таблицу данных с помощью выпадающего списка.

Я установил значение по умолчанию для «InputDataTable2». А после пользователь fini sh выбирает таблицу данных и отправляет результат. Хотя он может передавать правильную таблицу в контроллер, но значение «InputDataTable2» автоматически вернется к значению по умолчанию.

Мне нужно только установить значение по умолчанию для «InputDataTable2», когда пользователь впервые go на этой странице. После того, как пользователь выбрал таблицу и отправил ее, «InputDataTable2» должен оставаться таким же, как и выбранная пользователем таблица, при возврате результата.

Я попытался установить Selected = true, и это не работает, поэтому я попытался jQuery сейчас.

Есть ли способ остановить запуск jQuery после первого запуска?

Просмотр

@using (Html.BeginForm("Compare", "Home", FormMethod.Post))
{
    @Html.Raw("New :"
    @Html.DropDownList("InputDataTable1", (IEnumerable<SelectListItem>)ViewBag.InputDataTable1)<br/>
    @Html.Raw("Base:")
    @Html.DropDownList("InputDataTable2", (IEnumerable<SelectListItem>)ViewBag.InputDataTable2)<br />
    <input type="submit" value="compare" />
}

<script>
    $(document).ready(function ()
    {
        $('#InputDataTable2')[0].selectedIndex = 1;
    });
</script>

Контроллер

public ViewResult CompareReport()
        {
            List<SelectListItem> reportList = new List<SelectListItem>();
            reportList = GetReportList();
            DataTable Tables = DatabaseHelper.GetCategoryReportSnapshotList();
            ViewBag.CMDataTable1 = Tables.Rows[0][0].ToString();
            ViewBag.CMDataTable2 = Tables.Rows[1][0].ToString();
            ViewBag.InputDataTable1 = reportList;
            ViewBag.InputDataTable2 = reportList;

            DataSet dsResult = DatabaseHelper.Compare2Snapshot(ViewBag.CMDataTable2, ViewBag.CMDataTable1);

            return View("CompareReport", dsResult);
        }

        [HttpPost]
        public ActionResult CompareReport(string InputDataTable1, string InputDataTable2)
        {
            List<SelectListItem> reportList = new List<SelectListItem>();
            reportList = GetReportList();
            ViewBag.InputDataTable1 = InputDataTable1;
            ViewBag.InputDataTable2 = InputDataTable2;
            DataSet dsResult = DatabaseHelper.Compare2Snapshot(InputDataTable2, InputDataTable1);
            ViewBag.InputDataTable1 = reportList;
            ViewBag.InputDataTable2 = reportList;
            return View("CompareReport", dsResult);
        }

1 Ответ

0 голосов
/ 07 января 2020

просто установите выбранное значение в раскрывающемся списке как

$("#InputDataTable2").val(your selected value);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...