使用foreach从列表创建Checkbox(或checkboxlist)

时间:2015-11-26 07:55:50

标签: jquery .net asp.net-mvc checkbox checkboxlist

我正在尝试从列表中创建一个复选框或复选框列表。我试过了:

@foreach (var bundle in Model.BundleList)
{

    <div>
        <input type="checkbox" name="labels" value="@bundle.BundleType" id="@bundle.BundleType" />
        <label for="@bundle.BundleType">@bundle.BundleType</label>
    </div>
} 

但我怎么知道选中了哪个复选框?我也希望有radiobutton行为,这意味着只能选择一个复选框。

1 个答案:

答案 0 :(得分:1)

使用JQuery,您可以通过$('input:checkbox:checked')选择器获取选中的复选框。

你可以拥有像下面这样的复选框的radiobutton行为。

$("input:checkbox").click(function () {
    if (!$(this).is(':checked')) {
        $(this).prop('checked', true);
        return;
    }
    $("input:checkbox").not(this).removeAttr("checked");
});

更新:在隐藏字段中设置所选复选框值。

Html

<input id="SelectedProducts" name="SelectedProducts" type="hidden" />

Jquery的

$("input:checkbox").click(function () {
    if (!$(this).is(':checked')) {
        $(this).prop('checked', true);
        return;
    }

    var checkvalue = $(this).val();
    $('#SelectedProducts').val(checkvalue);

    $("input:checkbox").not(this).removeAttr("checked");
});