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];