für die letzten zwei Tage versuchte ich herauszufinden, wie man eine Checkboxliste dynamisch aktualisiert, wenn ein neues Element in der Dropdownliste mit Hilfe von Javascript ausgewählt wird.MVC 3: Wie man die Checkboxliste aktualisiert, wenn dropdownlistitem ausgewählt ist?
Ich habe dasselbe vor einer Woche getan, wo ich Update zu einem von einer Dropdown-Liste zu einer Dropdown-Liste tun sollte.
Was ive bekam bisher:
Ansicht
@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>
wenn ich Ansicht bin Laden Model.checkboxlist ist null, weil ich etwas nicht zurückgeben abgesehen von Dropdownlist-Elemente zu modellieren.
ControllerAction:
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);
}
Gerade jetzt sogar Alert ("HEJ") sogar gefeuert doesnt, und ich einfach kann nicht herausfinden, warum ... Hilfe bitte?
irgendwelche Fehler in der Browser-Konsole? –
okay 1 Problem gelöst ... anstelle von checked = 'false' sollte überprüft werden: 'false' ... so jetzt bekomme ich Popups ... aber immer noch Checklistenliste inst aktualisiert werden – Timsen