首页 > 解决方案 > 下拉菜单不保存价值

问题描述

我之前在保存值时问了一个问题,因为我的代码正在删除数组中的最后一个值,然后我意识到它正在删除值的部分,所以我更改了语法。现在的问题是,当我提交表单时,它只从第二个下拉列表中获取值,而第一个下拉列表中的值返回一个空值。第一个下拉列表中的原始值与这样的分隔符组合在一起,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();
    }

标签: javascriptjqueryasp.net-mvc

解决方案


推荐阅读