【问题标题】:checking a checkbox in javascript using a json value in mvc.net使用 mvc.net 中的 json 值检查 javascript 中的复选框
【发布时间】:2014-02-19 07:39:59
【问题描述】:

我将一个复选框绑定到这样的模型。

@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);

但复选框没有更新。

【问题讨论】:

  • 我相信你在使用 CheckBoxFor 时不能覆盖id。检查实际渲染的复选框。
  • 在 html 源代码中没有,它显示 id=boolmonday。这意味着我认为它已被覆盖。
  • 我已经解决了。下面给出了java脚本代码作为答案。我正在使用 jquery 1.6+。
  • -1 因为您没有包含最重要的信息,所以在使用 .prop 时出现错误。无论如何,您“修复”的代码根本不在您的问题中!你甚至没有添加 jQuery 标签!啊!
  • 我对@9​​87654325@ 的评论有点偏离,但仍然如此。没有说明问题是什么以及如何解决的。我投了反对票并添加了一条评论,这样你就可以修复它而不是发动战争。如果您修复它,我将非常乐意回复否决(如果该帖子对未来的访问者有帮助,那么目前缺少的东西)。

标签: javascript jquery json asp.net-mvc


【解决方案1】:

试试这个:

$.get((URI.settings.getReportSchedule + '?scheduleId=' + id), function (data, status) {
    document.getElementById("boolmonday").checked = data.monday == 'True' ? true : false;
});

【讨论】:

  • 你能调试一下java脚本,让我们知道data.monday中的值是什么吗?
  • data.monday=true。我调试了它并使用了警报。它给出了 data.monday = true。
【解决方案2】:

我已经解决了这个问题。我正在使用 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);
    });

使用jquery 1.6以下的人应该使用

   $("#ReportSchedule_Monday").attr('checked', 'checked') 

而不是 .prop,因为它不适用于这些版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-26
    • 2021-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 1970-01-01
    相关资源
    最近更新 更多