【问题标题】:How to pass values from selected checkboxes如何从选定的复选框传递值
【发布时间】:2020-10-29 07:43:59
【问题描述】:
This is my view, in this code I select all checkboxes but when I reload my values are not saved, bcs i can't pass nothing in to the controller.

<table class="table table-striped grid-table">
<tr>
    <th>Id</th>
    <th>Code</th>
    <th>
    <input type="checkbox" id="box"/>
    </th>
</tr>
@foreach (var item in (IEnumerable<cit.Models.getPersonPerName_Result>)Model)
{
    <tr>
        <td>@item.idper</td>
        <td>@item.pername</td>
        <td>      

         <div class="pure-checkbox">
           <input type="checkbox" id="@item.idper" class="chk" checked="@(item.idperson == ViewBag.idperson ? true : false)" name="@item.id.ToString()" id="@item.id.ToString()" />
           <label for="@item.id.ToString()"></label>
         </div>

        </td>
    </tr>
}

这是我的 js

    var selectAllBox = document.getElementById('box');
    selectAllBox.addEventListener('click', function () {
        var pureCheckboxes = document.getElementsByClassName('chk');

        for (var i = 0; i < pureCheckboxes.length; i++) {
            pureCheckboxes[i].checked = this.checked;
        }
    });

下次重新加载时需要检查我的框,在这段代码中,我有大约 10 人可以访问这个网络应用程序

checked="@(item.idperson == ViewBag.idperson ? true : false)"

【问题讨论】:

    标签: javascript c# model-view-controller


    【解决方案1】:

    您的输入需要在表单中,并且您需要一个在提交表单时接受表单输入作为参数的 post 方法。或者,您可以使用 Ajax 发布值。您需要某种持久性(例如数据库)来存储值,以便在下次重新加载时加载它们而无需提交表单。

    您不需要将模型转换为任何东西来迭代它。你应该通过类似的东西

    var model = new List<cit.Models.getPersonPerName_Result>() {
        //Populate here
    }
    return View(model);
    

    【讨论】:

      猜你喜欢
      • 2012-01-25
      • 2019-12-12
      • 1970-01-01
      • 2014-12-29
      • 2016-03-04
      • 1970-01-01
      • 2023-03-04
      • 2017-02-22
      • 1970-01-01
      相关资源
      最近更新 更多