"다중 직원 선택"부서 "드롭 다운이있는"직원 추가 "모달이 있습니다. 버튼 클릭시, Ajax 호출이 실행되어 각각의 컨트롤러를 호출하고 데이터베이스에 값을 전달합니다. 나는 "부서"드롭 다운을 제외한 모든 것을 전달할 수 있습니다.select multiselect를 사용하여 데이터베이스에 값 전달
이 나는 시도했다 :
$.ajax({
...
data: { ..., Department: $("#cmbAddDepartment").val(), .... }
})
$.ajax({
...
data: { ...., Department: $("#cmbAddDepartment").getValue(), ... }
})
및
var selectize = $('#cmbAddDepartment').get(0).selectize;
var cmbAddDepartment=selectize.getValue();
$.ajax({
...
data: { ... , Department: cmbAddDepartment, ... }
})
재미있는 점은, 모든 일 alert()
내부하지만 아약스 데이터를 내부.
내가 사용하고 있습니다 : 부트 스트랩 4 알파 6, JQuery와 3.2.1, 독립 Selectize를 0.12.4
편집 : 그냥 참고로, 내 모든 다른 콤보는 (여전히 selectize 단일 선택), $("#cmbAddSomething"
) .val()`이 적합합니다.
EDIT 2 - vmEmpCreate.cs
public class vmEmpCreate
{
public vmEmpCreate()
{
//constructor
}
//combo
public string Company { get; set; }
public string Site { get; set; }
public string[] Department { get; set; } //can be multiple
public string ProductionLine { get; set; }
public IEnumerable<SelectListItem> AddCompany { get; set; }
public IEnumerable<SelectListItem> AddSite { get; set; }
public IEnumerable<SelectListItem> AddDepartment { get; set; }
public IEnumerable<SelectListItem> AddProductionLine { get; set; }
}
public class MyListSelectForAdd
{
public string Key { get; set; }
public string Display { get; set; }
}
컨트롤러 - 여기서는 컨트롤러 (뷰) 모델
뷰 모델이다 Controller.cs
[HttpPost]
public ActionResult AddEmployee(vmEmpCreate vmc)
{
if (ModelState.IsValid)
{
modEmployee addemp = new modEmployee();
addemp.Company = vmc.Company;
addemp.Site = vmc.Site;
addemp.Department = vmc.Department;
...
addemp.Remarks = vmc.Remarks;
conn = new SqlConnection(someConnectionString);
conn.Open();
comm = new SqlCommand("insert into someTable (company, site, department, ..., remarks) values ('"
+ addemp.Company + "' , '"
+ addemp.Site + "' , '"
+ addemp.Department + "' , '"
...
+ addemp.Remarks + "')", conn);
comm.ExecuteNonQuery();
conn.Close();
}
return PartialView();
}
EDIT 3 : 제안대로, 나는 크롬 검사기로 내 프로그램을 검사하여 오류를 보았지만 아무 것도 보지 못했습니다 위로.
오! 예, 이미 했어요. 그것을 질문에 포함하는 것을 잊어 버렸습니다. 죄송합니다. 지금 수정합니다. 고맙습니다. –
오케이. 요청을 보내고 있는지 콘솔에 확인 했습니까? 그리고 요청을받는 곳의 서버 측 코드를 보여줄 수 있습니까? – Shawn31313
예, 다른 값은 데이터베이스에 저장됩니다. 내 코드가 컨트롤러에 들어 오면 model.Department는 항상 null입니다. 죄송합니다. 서버 측 코드가 의미하는 바를 명확히 할 수 있습니까? –