Tuesday, August 21, 2018

Cascade Dropdown | Ajax BInding || Edit Selection


[Display(Name = "Department")]
public List<int?> Deptno { get; set; }

@Html.LabelFor(model => model.Deptno):           
@Html.DropDownListFor(m => m.Deptno, new SelectList(ViewBag.DeptInfoDDL, "Value", "Text", @Model.Deptno), "Select Department", new {@id = "ddlDepartment", @class = "ddlDepartment Filter",@multiple = "multiple", @style = "width:500px" ,data_placeholder = "Select Dept" }) 
 @Html.ValidationMessageFor(model => model.Deptno)
-----------------------------------------------------------------
[Display(Name = "Employee")]
 public List<int?> EmpnoIDs { get; set; }
 public IEnumerable<SelectListItem> emps { get; set; }

@Html.LabelFor(model => model.EmpnoIDs):                   
@Html.DropDownListFor(m => m.EmpnoIDs,Model.emps??Enumerable.Empty<SelectListItem>(), "Select emp", new {@id = "ddlEmployee", @class = "ddlEmployee Filter",@multiple = "multiple", @style = "width:500px", data_placeholder = "Select Emp" })
@Html.ValidationMessageFor(model => model.EmpnoIDs)


-----------------------------------------------------------------------------------------------------------------
$(".chzn-select-deselect,.Filter").chosen({ width: "100%" });
$("#ddlDepartment").chosen().on("change", function () {

    BindingEmployee();
});


function BindingEmployee() {

    if ($("#ddlDepartment").chosen().val() != "" && $("#ddlDepartment").chosen().val() != null) {
            var empidVal=@Model.EmpnoIDs
        $.ajax({
            dataType: "json",
            url: ServerUrl + "/Employee/GetEmployee",
            contentType: "application/json; charset=utf-8",
            data: JSON.stringify({ Deptno: $("#ddlDepartment").chosen().val() }),
            type: "POST",
            async: true,
            success: function (data) {

                $("#ddlemployee").empty();

                var html = "";

                $.each(data, function (i, ele) {
                    html += "<option value=" + ele.Id + ">" + ele.Name + "</option>";
                });
                 $("#ddlemployee").append(html).val(empidVal).trigger('chosen:updated');
            }
        });

    } else {
        $("#ddlemployee").empty().trigger('chosen:updated');
    }
}

------------------------------------------------------------------------------------------------------------------------
 [HttpPost]
        public JsonResult GetEmployee(List<int> Deptno)
        {
            var res = EmployeeBL.GetEmployeeBL(Deptno);
            return Json(res, JsonRequestBehavior.AllowGet);
        }


 ViewBag.DeptInfoDDL = DepartmentBL.GetDepartmentForDisplay();
  
 public static List<SelectListItem> GetDepartmentForDisplay()
        {
            using (var entity = new EmployeeEntities())
            {
                return (from e in entity.tbl_Department
                        select new SelectListItem
                        {
                            Text = e.Name.Trim(),
                            Value = eID.ToString()
                        }).OrderBy(i => i.Text).ToList();
            }
        }
 
 
 
 
 

No comments:

Post a Comment

javascript Filter/index off

 var family = [{"name":"Jack",  "age": 26},               {"name":"Jill",  "age"...