【发布时间】:2015-09-18 07:49:28
【问题描述】:
在我的控制器中,我有这个要显示在视图中的类别列表。这是我申请的报告部分。
public SelectList getFields()
{
List<SelectListItem> field = new List<SelectListItem>();
field.Add(new SelectListItem { Text = "Department", Value = "dept" });
field.Add(new SelectListItem { Text = "Referrer", Value = "ref" });
field.Add(new SelectListItem { Text = "Monthly", Value = "cd_key" });
return new SelectList(field, "Value", "Text");
}
public ActionResult HR_RecRep()
{
ViewBag.fields = getFields();
return View();
}
然后在我看来:
<script type="text/javascript">
$(document).ready(function () {
//this function will call the views with id=category
$('#fields').change(function () {
//Get the selected value from the dropdownlist
var rep = $(this).val();
//alert(cat);
if (rep.toUpperCase() == "DEPT") {
var text = document.getElementById("dept");
text.style.display = "inline";
$.getJSON('/Reports/getDepartment/', function (data) {
var items = '<option>Select Department...</option>';
$.each(data, function (i, department) {
items += "<option value='" + department.Value + "'>" + department.Text + "</option>";
});
$('#department').html(items);
});
var textValue = document.getElementById("ref");
textValue.style.display = "none";
}
});
});
</script>
<div style="border:0px solid black;width:950px;">
Reports By: @Html.DropDownList("fields", String.Empty)
<span id="dept" style="display:none;"><select id="department" name="department"></select></span>
<span id="ref" style="display:none;"><select id="referrer" name="referrer"></select></span>
在我看来,它成功地显示了“按部分报告”的字段。 我希望每当我在下拉列表中选择“部门”时,它指的是类别中的部门,它应该显示数据库中所有部门的下拉列表。
这是我获取部门列表的控制器。
public SelectList getDepartment()
{
ViewBag.department = new SelectList(db.rms_departments, "dept_id", "dept_shortname");
return ViewBag;
}
当我尝试使用代码时,当我在报告中选择部门时,它没有显示部门的下拉列表。而且对于推荐人,当我从下拉列表中选择它时,它应该显示数据库中所有员工的下拉列表。
你能帮帮我吗? 非常感谢。
也许与我的脚本有关?
【问题讨论】:
标签: c# asp.net asp.net-mvc drop-down-menu