如何检查正确的单选按钮

时间:2010-05-25 13:43:35

标签: c# html asp.net-mvc radio-button

我有一个表格,其中包含我需要的一些信息。所有这些行还包含一个带有单选按钮的列,以便用户可以将其中一行检查为默认行。

当我从数据库中提取数据并想要选择当前默认数据时。

<% foreach (var item in (IEnumerable<Locale>) ViewData["Locales"]) { %>
    <tr>
        <td>
            <%= Html.Encode(item.Language.Name) %>
        </td>
        <td>
            <input type="radio" id="defaultLocale" name="defaultLocele" value="on" checked="<%= item.Default == false ? "false" : "true" %>" />
        </td>

我也试过这样做:

<input type="radio" id="defaultLocale" name="defaultLocele" value="on" checked="<%=item.Default == false ? "" : "checked" %>" />

但似乎没有做正确的事情。我总是最后检查最后一行,这是不确定的。

1 个答案:

答案 0 :(得分:1)

在html中检查没有bool值为true或false。 您必须设置checked =“checked”才能选中复选框(如果您需要正确的语法)。但大多数浏览器接受任何checked =“...”作为设置。所以你的checked =“false”被解释为“被检查”。因此,所有复选框都被解释为已选中,因为只有一个可以,最后一个被选中。

如果您不想检查它,则必须删除整个checked =属性。

<input type="radio" id="defaultLocale" name="defaultLocele" value="on" <%=item.Default ? "" : "checked=\"checked\"" %> />