Как проверить правильную радио-кнопку - PullRequest
1 голос
/ 25 мая 2010

У меня есть таблица, содержащая некоторую информацию, которая мне нужна. Все эти строки также содержат столбец с переключателем в нем, так что предполагается, что пользователь может проверить одну из строк по умолчанию.

Когда я возвращаю данные из БД и хочу выбрать тот, который в настоящее время используется по умолчанию.

<% 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 Ответ

1 голос
/ 25 мая 2010

В проверенном html нет логического значения true или false. Вы должны установить флажок = «проверено», чтобы установить флажок (если вам нужен правильный синтаксис). Но большинство браузеров принимают любой установленный флажок = "...". Таким образом, ваш зарегистрированный = "ложный" интерпретируется как "Проверен". Таким образом, все ваши флажки интерпретируются как проверенные, и, поскольку может быть установлен только один, проверяется последний.

Если вы не хотите, чтобы он был проверен, вы должны удалить весь атрибут checked =.

<input type="radio" id="defaultLocale" name="defaultLocele" value="on" <%=item.Default ? "" : "checked=\"checked\"" %> />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...