【问题标题】:How to get all CheckBoxFor's name on Jquery?如何在 Jquery 上获取所有 CheckBoxFor 的名称?
【发布时间】:2015-09-16 06:11:30
【问题描述】:

这是我的复选框的样子,因为我使用的是我的视图中的Html helpers

<input data-val="true" data-val-required="The isSelected field is required." id="idstoselect" name="[2].isSelected" type="checkbox" value="true" />
<input name="[2].isSelected" type="hidden" value="false" />

我正在尝试实现一个Check all 复选框,但由于它们的名称格式,我无法选择所有这些复选框..

我的 jquery 在我的 Layout View 中,现在是这样的:

$('#selectall').click(function () {

     //how to select all of them?
});

通常,我可以做类似的事情

$("input[name='onenameforall']").attr("checked",this.checked))

如果我不使用HtmlHelpers,因为我需要手动将名称设置为onenameforall。我需要重新实现吗?我的复选框位于[2].isSelected 的数组中。我正在考虑获取模型的大小,然后从中创建一个 for 循环,但我的函数位于我的布局视图中。

【问题讨论】:

  • $('input[type="checkbox"]').prop('checked', $(this).is(':checked'));(或给他们一个类名)
  • 哦,好吧,那行得通。我只需要为所有这些提供一个类名吗?如果是这样,那么我该如何选择它们?只需将类型替换为类?
  • 试试这个jsfiddle.net/tsjuhzfn
  • 如果你给他们一个类名(比如... new { @class = "checkbox" })那么它就是$('.checkbox').prop(..)
  • 哦,好的,非常感谢。

标签: javascript jquery asp.net-mvc checkbox


【解决方案1】:

您可以使用

选择所有复选框
$('#selectall').click(function () {
    $('input[type="checkbox"]').prop('checked', $(this).is(':checked'));
});

或者,给你在循环中生成的复选框一个类名

@Html.CheckBoxFor(m => m[i].isSelected, new { @class = "mycheckbox" })

在脚本中

$('#selectall').click(function () {
    $('.mycheckbox').prop('checked', $(this).is(':checked'));
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-14
    • 1970-01-01
    • 2020-08-18
    • 1970-01-01
    • 1970-01-01
    • 2016-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多