我有一个.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);
}
}
但是,当我尝试单击任何按钮时,它没有任何作用。 这是我的视图中的样子:
请注意,那里的保存更改按钮起作用。单击后,它会通过单击单选按钮来更新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>
答案 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。