2010-05-31 5 views
4

Я участвую в процессе обучения JQuery, в основном благодаря положительной ссылке на переполнение стека. Мне нужна функция, которая проверяет все флажки в элементе, который имеет тот же класс CSS. Он должен возвращать значение true, если проверяется хотя бы один из них. В элементе также есть другие поля, которые не имеют отношения к проверке.JQuery - по крайней мере один флажок установлен

Класс CSS не нужен и только на месте, чтобы создать способ идентифицировать флажки в группе. Это похоже на плохую практику, поэтому любые рекомендации относительно других способов их идентификации приветствуются.

ответ

3

радио Список кнопок не был выбран из-за макета страницы. Я решил его с помощью Custom Validator.

Добавьте эту функцию JavaScript на странице

function ValidateDDA(s, a) { 
    a.IsValid = ($(".chk:checked", $('parentDiv')).length > 0); 
} 

Затем добавьте CustomValidator на страницу

<asp:CustomValidator runat="server" ID="cvDDLCorrect" ClientValidationFunction="ValidateDDA" 
ErrorMessage="No hay resuesta correcta" CssClass="error" /> 

работает как шарм. Спасибо за предложения.

20

Чтобы проверить, по крайней мере, один флажок:

$(".classname:checked", container).length > 0 

"контейнер" является (по желанию) элемент контейнера.

Если вы хотите, чтобы избежать использования имен классов для группировки, вы должны просто дать каждому CheckBox то же имя:

<input type="checkbox" name="group1" value="1" /> 
<input type="checkbox" name="group1" value="2" /> 
<input type="checkbox" name="group1" value="3" /> 

Затем вы можете изменить тестовый код для:

$("[name=group1]:checked").length > 0 
+0

Полезно знать. К сожалению, флажки находятся через ASP.Net, и переопределение UniqueID - это слишком много решений. – Laramie

+0

Какой смысл использовать одно и то же имя для нескольких флажков? (Если вы не используете PHP и не заканчиваете имя с помощью '[]'). Если пользователь может выбрать только один из них, следует использовать радиокнопку. Если он может выбрать несколько, вы потеряете информацию таким образом. – Tgr

+1

Вы не теряете информацию, когда несколько флажков имеют одинаковое имя. Данные будут отправлены на сервер как «value1, value2, value3», если проверено несколько элементов –

Смежные вопросы