用于勾选多个单选按钮的按钮

时间:2018-08-16 08:23:18

标签: c# asp.net .net asp.net-mvc razor

我有一个.NET MVC项目,其中的一个视图中有多个单选按钮,这些单选按钮绑定到SQL表中的唯一项。 这是我的“查看”页面中的代码块,该代码块为每一行生成两个单选按钮。

@foreach(var item in Model){
@Html.RadioButton(item.ReviewID, "Retain")Retain  
@Html.RadioButton(item.ReviewID, "False")Remove

}

在整个列表下面,我有两个要尝试使用的按钮,将所有相应的单选按钮打勾。

<input type="button" value="Retain All" onclick="retainAll()" />
<input type="button" value="Retain All" onclick="removeAll()" />

我试图调用我在视图中声明的这两个助手:

@helper retainAll()
{
    foreach (var item in Model)
    {
        @Html.RadioButton(item.ReviewID, "Retain", isChecked: true);
    }
}

@helper removeAll()
{

    foreach (var item in Model)
    {
        @Html.RadioButton(item.ReviewID, "Remove", isChecked: true);
    }

}

但是,当我尝试单击任何按钮时,它没有任何作用。 这是我的视图中的样子:

https://imgur.com/a/uPxgvKv

请注意,那里的保存更改按钮起作用。单击后,它会通过单击单选按钮来更新SQL数据库。

使用“全部保留”和“全部删除”按钮的想法只是用保留或删除标记所有单选按钮。

**同样,我不是在问如何将单选按钮的值回发到sql表中。只是问是否有办法在视图中单击“全部保留”或“全部删除”按钮,它将在视图中选中所有相应的单选按钮。(将其“ isChecked”属性设置为true)

在我的视图中删除了辅助代码块,并替换为:

<script>
function retainAll()
{
    @foreach (var item in Model)
    {
        @Html.RadioButton("rbResponse" + item.ReviewItemID.ToString(), "Retain", isChecked: true);
    }
}

function removeAll()
{
    @foreach (var item in Model)
    {
        @Html.RadioButton("rbResponse" + item.ReviewItemID.ToString(), "Remove", isChecked: true);
    }

}
</script>

1 个答案:

答案 0 :(得分:0)

我终于找到了解决方案。我这样在View中制作了一个脚本:

<script type="text/javascript">

        $(document).ready(function () {
            $("#selectRetain").click(function () {
                $('input:radio[value=Retain]').prop('checked', true);
            });

            $("#selectRemove").click(function () {
                $('input:radio[value=Remove]').prop('checked', true);
            })
        });        
    </script>

并这样更改我的按钮:

<input type="button" value="Retain All" id='selectRetain'>
<input type="button" value="Retain All" id='selectRemove'>

现在,每当我选择这些按钮中的每个按钮时,它们都会将页面中单选按钮的isChecked值更改为true。