Выпадающее меню не сохраняет ценность

Ранее я задавал вопрос о сохранении значений, так как мой код удалял последнее значение в массиве, а затем я понял часть, где он удалял значение, поэтому я изменил синтаксис. Проблема заключается в том, что когда я отправляю форму, она берет только значение из второго раскрывающегося списка, а значение из первого раскрывающегося списка возвращает нулевое значение. Первоначальное значение из первого раскрывающегося списка объединяется с разделителем, подобным этому, vehicleID_driverIDнапример 14_2.

Вот мой новый код:

    $(document).ready(function () {
      $('#VehicleID').change(function () {
          var v = $(this).val();

        //if (v == "0") {
        //    return;
        //}

        var val = v.split("_");

        var drvid = val[1];
        var vehid = val[0];

        if (drvid == "0") {
          $("#DriverID > option").each(function () {
            $(this).show();
          });
        }
        else {

          $("#DriverID > option").each(function () {
            var option_val = $(this).val();

            if (option_val != drvid) {
              $(this).hide();
            }
          });
        }

        $("#DriverID").val(drvid);
        $("#VehicleID").val(vehid);

      }).trigger("change");
    })

контроллер:

        public ActionResult ReserveInitial()
    {
        ViewBag.VehicleID = db.Vehicles.Where(item => item.IsReserved == false).Select(a => new SelectListItem
        {
            Value = a.VehicleID.ToString() + "_" + a.DriverID.ToString(),
            Text = a.VehicleMake + " - " + a.PlateNumber,
        });

        ViewBag.DriverID = db.Drivers.Select(a => new SelectListItem
        {
            Value = a.DriverID.ToString(),
            Text = a.DriverLastName + ", " + a.DriverFirstName
        });


        return View();
    }

javascript,jquery,asp.net-mvc,

0

Ответов: 0

Выпадающее меню не сохраняет ценность

Ранее я задавал вопрос о сохранении значений, так как мой код удалял последнее значение в массиве, а затем я понял часть, где он удалял значение, поэтому я изменил синтаксис. Проблема заключается в том, что когда я отправляю форму, она берет только значение из второго раскрывающегося списка, а значение из первого раскрывающегося списка возвращает нулевое значение. Первоначальное значение из первого раскрывающегося списка объединяется с разделителем, подобным этому, vehicleID_driverIDнапример 14_2.

Вот мой новый код:

    $(document).ready(function () {
      $('#VehicleID').change(function () {
          var v = $(this).val();

        //if (v == "0") {
        //    return;
        //}

        var val = v.split("_");

        var drvid = val[1];
        var vehid = val[0];

        if (drvid == "0") {
          $("#DriverID > option").each(function () {
            $(this).show();
          });
        }
        else {

          $("#DriverID > option").each(function () {
            var option_val = $(this).val();

            if (option_val != drvid) {
              $(this).hide();
            }
          });
        }

        $("#DriverID").val(drvid);
        $("#VehicleID").val(vehid);

      }).trigger("change");
    })

контроллер:

        public ActionResult ReserveInitial()
    {
        ViewBag.VehicleID = db.Vehicles.Where(item => item.IsReserved == false).Select(a => new SelectListItem
        {
            Value = a.VehicleID.ToString() + "_" + a.DriverID.ToString(),
            Text = a.VehicleMake + " - " + a.PlateNumber,
        });

        ViewBag.DriverID = db.Drivers.Select(a => new SelectListItem
        {
            Value = a.DriverID.ToString(),
            Text = a.DriverLastName + ", " + a.DriverFirstName
        });


        return View();
    }
00JavaScript, JQuery, asp.net-MVC,
Похожие вопросы