MVC3已检查复选框的计数

时间:2013-03-21 10:55:52

标签: c# ajax asp.net-mvc asp.net-mvc-3

在我的视图中,我想在编辑器字段中查看已选中复选框的计数! 我怎样才能提出申请?

控制器: 如何在Controller中转换它?   //

    public ActionResult Create()
    {
        return View();
    } 

    //
    // POST: /Projects/Create

    [HttpPost]
    public ActionResult Create(PPM_Project project)
    {
        if (ModelState.IsValid)
        {
            db.Project.Add(project);
            db.SaveChanges();
            return RedirectToAction("Index");  
        }

        ViewBag.Status = new SelectList(new string[] { "----------", "running", "on hold", "finished", "not started", "cancelled" });
        return View(project);
    }

查看: 视图中有什么变化?

   <div class="editor-label-AI">
        @Html.LabelFor(model => model.Anzahl_Betroffene_BU_Einheiten)
    </div>
    <div class="editor-field-AZB">
        @Html.EditorFor(model => model.Anzahl_Betroffene_BU_Einheiten)
        @Html.ValidationMessageFor(model => model.Anzahl_Betroffene_BU_Einheiten)
    </div>

在那里,我想查看已选中复选框的计数!

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

如果我正确理解了您的问题:您需要根据检查的复选框更新文本框...

如果您正在使用MVC,则需要在JavaScript中执行此操作。我举了一个展示这个功能的例子,可以很容易地适应你的项目。

jsFiddle

enter image description here

<强> HTML

<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />

<div class="editor-field-AZB">
    <input id="count" value="0" />
</div>

<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />

<强>的JavaScript

var countInput = document.getElementById('count');
var checkboxes = document.querySelectorAll('input[type="checkbox"]');
for (var i = 0; i < checkboxes.length; i++) {
    checkboxes[i].onchange = countCheckboxes;
}

function countCheckboxes() {
    var count = 0;
    for (var i = 0; i < checkboxes.length; i++) {
        if (checkboxes[i].checked) 
            count++;
    }
    countInput.value = count;
}
countCheckboxes();