只标记一个复选框?

时间:2011-10-06 23:10:17

标签: asp.net-mvc-3

我的复选框有问题。我有一个复选框列表,我想只标记一个支票并取消标记其他支票。

我想在同一视图中做到这一点,它是否可行? 我怎样才能做到这一点?

<div><input  type="checkbox" id="<%= id %>"  onchange='submit();'/> </div>

感谢

3 个答案:

答案 0 :(得分:1)

听起来你确实需要一个单选按钮。如果您给它们命名相同,单选按钮是互斥的:

<input  type="radio" name="something" ... />
<input  type="radio" name="something" ... />

如果你真的想要复选框,你必须编写一些JavaScript逻辑。

答案 1 :(得分:0)

使用单选按钮,而不是复选框。

<div>
    foreach (var foo in model.Foos) {
        <input type="radio" name="foo" id="foo_@foo.Id" value="@foo.Id" /> 
        <label for="foo_@foo.Id">@foo.Value</label> <br />
    }
</div>

这样的东西应该创建一个单选按钮列表。

另外,为什么在更改选择时提交?你应该使用jQuery对客户端的页面进行任何基于选择的操作。

答案 2 :(得分:0)

你可以使用jQuery。在document.dady你必须将复选框上的更改事件绑定到某个函数,然后在您的函数中要重置所有其他复选框。这是假设您不想使用上面建议的单选按钮。