Javascript JQuery-在分隔符替换后获取值?

Javascript JQuery-在分隔符替换后获取值?,javascript,jquery,asp.net-mvc,Javascript,Jquery,Asp.net Mvc,我以前已经搜索过了,并尝试使用pop()和lastIndexOf这两种方法,但在循环下拉列表中效果不佳 除了在分隔符之后获取值(不将其从列表中删除)之外,还有其他方法吗 这是我的密码: $(document).ready(function () { $('#VehicleID').change(function () { var vehdrv = ($('#VehicleID :selected').val()); var

我以前已经搜索过了,并尝试使用
pop()
lastIndexOf
这两种方法,但在循环下拉列表中效果不佳

除了在分隔符之后获取值(不将其从列表中删除)之外,还有其他方法吗

这是我的密码:

    $(document).ready(function () {
        $('#VehicleID').change(function () {
            var vehdrv = ($('#VehicleID :selected').val());
            var drvid = vehdrv.split("_").pop();
            var vehid = vehdrv.split("_")[0];

            $('#VehicleID :selected').val(vehid);
            //alert($('#VehicleID :selected').val());

            if (drvid > 0) {
                $('#DriverID').find("option").show().not("option[value*='" + drvid + "']").hide();

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

                //$("#DriverID").val(
                //$("#DriverID").find("option:visible:first").val())
            }

            else {
                $("#DriverID").find("option").show();

                $("#DriverID").val(
   $("#DriverID").find("option:visible:first").val())
            }
        }).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();
    }
编辑 这是VehicleID链接到驾驶员时字符串的外观: “14_5”

如果VehicleID与驾驶员无关,则如下所示: “15_0”

你可以试试这个

var-vehdrv=$('#VehicleID').val().match(/[^u3;]+/g);
var drvid=vehdrv[0];
var vehid=vehdrv[1];
控制台日志(drvid、vehid)


发布关于在字符串中查找元素的问题时,请添加两个原始元素的示例,例如“xxx_yyy_zzz”或其他内容。很难从您的代码中推断出您希望字符串是什么样子。@ChrisCousins感谢您的建议,添加了字符串的样子。仍然是相同的结果,它在再次拾取相同的vehid值后删除了drvid值。
var parts = vehdrv.split("_");
var drvid = parts[1];
var vehid = parts[0];