javascript - 如何从另一个下拉列表列出的下拉列表选择中获取值
问题描述
我有一个使用另一个下拉列表的下拉列表。我面临的问题是我能够检索第一个下拉列表的选择,但不能检索第二个。
这是我正在查看的脚本
$(function() {
$("#Off").change(function() {
$.get("/Reference/GetSubjectById", {
id: $("#Off").val()
}, function(data) {
$("#Su").empty() $.each(data, function(mail, row) {
$("#Su").append(" <option value='" + row.Id_Subject + "'>" + row.Subject_Matter + "</option>")
});
})
});
});
这是我的控制器
public ActionResult Mail()
{
fillingEntities db = new fillingEntities();
ViewBag.OfficeName = new SelectList(db.offices, "Office_Id", "Office_Name");
//ViewBag.SubjectName = new SelectList(db.subjects, "Subject_Id", "Subject_Matter");
MailViewModel mailView = new MailViewModel();
mailView.date = DateTime.Now;
return View(mailView);
}
public JsonResult GetSubjectById(int id)
{
fillingEntities db = new fillingEntities();
db.Configuration.ProxyCreationEnabled = false;
return Json(db.subjects.Where(m => m.Office_Id == id), JsonRequestBehavior.AllowGet);
}
public ActionResult New(int newref)
{
return View();
}
public ActionResult Save(MailViewModel mail)
{
fillingEntities db = new fillingEntities();
//subject mySubject = db.subjects.Where(m => m.Subject_Id == mail.id_subject).FirstOrDefault();
string subValue = Request.Form["Su"].ToString();
reference lastRef = db.references.ToList().LastOrDefault();
int numeroRef = (lastRef.Opening_Ref+1);
//string referenceNumber = mySubject.Subject_Code + "/" + numeroRef + "/" + "2020";
string referenceNumber = subValue + "/" + numeroRef + "/" + "2020";
mail.NewReference = referenceNumber;
reference newRef = new reference();
newRef.Opening_Ref = numeroRef;
db.references.Add(newRef);
db.SaveChanges();
mail newMail = new mail();
newMail.Location = mail.location;
newMail.Mail_Year = (short) DateTime.Now.Year;
newMail.Mail_Date = DateTime.Now.Date;
newMail.Addressed_Name = mail.addTo;
newMail.Addressed_Department = mail.addDep;
newMail.Addressed_Organisation = mail.addOrg;
newMail.Mail_Subject = mail.subject;
newMail.Reference_Id = newRef.Reference_Id;
newMail.Office_Id = mail.id_office;
db.mails.Add(newMail);
db.SaveChanges();
return View("Save", mail);
}
最后是我的视图模型
namespace FillingSystem.ViewModel
{
public class MailViewModel
{
public string addTo { get; set; }
public string addOrg { get; set; }
public string addDep { get; set; }
public string subject { get; set; }
public string location { get; set; }
public DateTime year { get; set; }
public DateTime date { get; set; }
public IEnumerable<office> offices { get; set; }
public int id_office { get; set; }
public int id_subject { get; set; }
public IEnumerable<subject> subjects { get; set; }
public int Opening_Ref { get; set; }
public string NewReference { get; set; }
}
}
解决方案
推荐阅读
- php - 如何在 codeignator 的控制器中使用带有选定选项的选择标签?
- snakemake - 如何使用通配符多次运行我的蛇形规则子集?
- php - 无法将视频从颤振上传到服务器 php?
- php - php 用 php 中的变量返回的所有 6 个零替换 m
- android - 为什么使用 AlarmManager.setAlarmClock() 设置时,仅三星 Android 9 设备上不显示闹钟图标?
- python - 图像的Python灰度转换
- c++ - 在派生类到基类的转换中移动语义
- asp.net-core - 用户总是需要在 20 - 30 分钟后登录
- ubuntu-18.04 - 如何在 ubuntu-18.04 上安装 nexus
- google-sheets - 如何从其他工作表中导入具有值的数据