【发布时间】:2012-04-21 23:41:11
【问题描述】:
在过去的两天里,我试图弄清楚如何在 javascript 的帮助下选择下拉列表中的新项目时动态更新复选框列表。
一周前我做了同样的事情,我应该从下拉列表更新到下拉列表。
到目前为止我得到了什么:
查看
@using (Html.BeginForm())
{
@Html.DropDownListFor(x => x.User, (IEnumerable<SelectListItem>)Model.UserList, "-- vælg bruger --")
if (Model.checkboxlist != null)
{
for (var i = 0; i < Model.checkboxlist.Count; i++)
{
<div class="editor-label">
@Html.CheckBoxFor(c => Model.checkboxlist[i].check)
@Html.LabelFor(c => Model.checkboxlist[i].Id, Model.checkboxlist[i].Id)
@Html.HiddenFor(c => Model.checkboxlist[i].Id)
</div>
}
}
}
<script type="text/javascript">
$('#User').change(function () {
alert('HEJ!');
var selectedUser = $(this).val();
alert(selectedUser);
if (selectedUser != null && selectedUser != '-- vælg bruger --' && selectedUser != '') {
$.getJSON('@Url.Action("getPdfCheckBoxList","Admin")', { username: selectedUser },
function (employee) {
var checkboxlist = $('#checkboxlist');
checkboxlist.empty();
$.each(employee, function (index, employee) {
checkboxlist.append($('<checkbox/>', {
checked = 'false'
}));
});
});
}
});
</script>
当我加载视图时 Model.checkboxlist 为空,因为我没有返回任何东西来建模下拉列表项。
控制器动作:
public ActionResult getPdfCheckBoxList(String username)
{
MethodService service = new MethodService();
var list = new List<PDFCheckBoxList>();
foreach (var pdfCheckBoxList in getPDFFileNames(username))
{
list.Add(new PDFCheckBoxList { check = false, Id = pdfCheckBoxList });
}
return Json(list, JsonRequestBehavior.AllowGet);
}
现在连 Alert("HEJ") 都没有被解雇,我根本不知道为什么......请帮忙?
【问题讨论】:
-
浏览器控制台中的任何错误?
-
好的 1 问题已解决...而不是检查 = 'false' 应该检查:'false'...所以现在我收到弹出窗口...但仍然列出 checkboxlist inst 正在更新
标签: c# javascript asp.net-mvc asp.net-mvc-3