我将一个复选框绑定到这样的模型。
@Html.CheckBoxFor(model => model.ReportSchedule.Monday, new {id="boolmonday" ,name = "boolmonday",@class="dayChkbox", disabled = "disabled" })<label>Monday</label><br />
现在我调用一个JavaScript方法:
$.get((URI.settings.getReportSchedule + '?scheduleId=' + id), function (data, status) {
document.getElementById("boolmonday").checked = data.monday;
});
该函数已成功完成并检索json对象。我已经使用警报进行了检查。状态是成功的,它检索数据。在模型数据是这样的。
var data = new
{
reportSchedulType =repeatschedule.ReportSchedulType,
monday=true,
tuesday = false,
wednesday =true,
thursday = false,
friday=true,
};
return Json(data, JsonRequestBehavior.AllowGet);
但是复选框没有更新。
答案 0 :(得分:0)
试试这个:
$.get((URI.settings.getReportSchedule + '?scheduleId=' + id), function (data, status) {
document.getElementById("boolmonday").checked = data.monday == 'True' ? true : false;
});
答案 1 :(得分:0)
我已经解决了这个问题。我正在使用jquery 1.6 +。
$.get((URI.settings.getReportSchedule + '?scheduleId=' + id), function (data, success) {
data.monday === true ? $("#ReportSchedule_Monday").prop('checked', true) : $("#ReportSchedule_Monday").prop('checked', false);
});
使用低于1.6的jquery的人应该使用
$("#ReportSchedule_Monday").attr('checked', 'checked')
而不是.prop,因为它不适用于那些版本。