【问题标题】:Find all selected check boxes in razor generated html via jquery通过jquery在razor生成的html中查找所有选中的复选框
【发布时间】:2019-09-19 20:13:50
【问题描述】:

我需要捕获来自 MVC 模型的 razor foreach 生成的所有选定复选框。我需要使用 Jquery 来做到这一点。

我已经尝试捕获选择的内容和未选择的内容。我设法找到了一个,但仅此而已。我认为这是由于 html 的布局方式造成的。只有一个实际输入。

我已经尝试过使用,它可以让我得到复选框输入的值和检查的数量,但我需要 DisplayFor 的值。

  $('#mcalSubmit').on('click', function () {
    var subLines = [];
    $.each($("input[name='subLines']:checked"), function () {
        favorite.push($(this).val());
    });
    alert( subLines.join(", "));

});

我在这里有这些 div,我使用基于来自单独数据库的模型的 foreach 填写表格。用户选中 Displayfor 旁边的复选框 ..

<div class="card text-white bg-info mb-3 ml-3 hideMe " id="MCAL" style="min-width: 25rem; max-width: 25rem; ">
        <div class="card-header bg-primary">
            MCAL Sublines
        </div>
        <div class="card-body">
            <table id="mcalTBL" class="table">
                <tr></tr>
                @foreach (var item in Model)
                {
                    ULT = item.UniqLineType;
                    if (ULT == AL)
                    {
                        <tr>
                            <td class="text-white ">
                                <input type="checkbox" class="cbMCAL" value="sublineMcal" />
                                @Html.DisplayFor(modelItem => item.SubLine_Name)
                            </td>
                        </tr>
                    }
                }
            </table>
        </div>
        <div class="card-footer bg-secondary">
            <button class="btn btn-danger btn-md float-right" id="mcalSubmit">Submit</button>
        </div>
    </div>

我需要找到一种方法来捕获他们选择的复选框和表格行数据(在这种情况下,他们选择了哪个 DisplayFor 项目).. 我必须这样做,因为我会将这些发送到控制器用于 db 插入之后。再次感谢您的帮助。

【问题讨论】:

  • Sam Axe,我编辑并添加了我发现到目前为止部分有效的内容。
  • 为什么不使用CheckBoxFor
  • 异端猴子.. 用复选框替换 DisplayFor?

标签: jquery asp.net-mvc razor


【解决方案1】:

你应该添加这个代码

  $('#mcalSubmit').on('click', function () {
    var subLines = "";
    $.each($("input[name='subLines']:checked"), function () {
       subLines += $(this).val() +","
    });
   alert(subLines);
  });

还要加

    name='subLines' // add in your input checkbox code
   <input type="checkbox" name='subLines' class="cbMCAL" value="sublineMcal" />

在您的复选框代码中

【讨论】:

  • 感谢 faseeh。当我回到我的比赛时,我会试试的
  • 不客气,如果您有任何问题,请回复我。
  • 我根据您的代码编辑了一些代码,以便您轻松使用。您现在可以轻松使用它了。
  • 嗨 Faseeh。你的帮助真的很有帮助。谢谢你。我在我的代码和你给我的代码上改变了两件小事。我将 Html.DisplayFor 包装在 span 标签中,并将 val() 更改为 html。以及 .push 查找的内容。而且效果很好。我会发帖让你看看。
  • 听起来不错:)
猜你喜欢
  • 1970-01-01
  • 2012-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-08
  • 2016-09-09
相关资源
最近更新 更多