Нужно требовать все флажки группы, пока один не выбран - PullRequest
0 голосов
/ 31 марта 2011

Я использую JQM (jQueryMobile), и мне нужно требовать все флажки в группе, пока один не выбран, а затем просто требовать выбранный, если это не проверка все, тогда требуют все.

Проблема в том,Я не могу использовать атрибуты Id или Name группы флажков, поэтому я пытаюсь использовать атрибут class.

Вот пример разметки (но функциональность не работает): http://jsfiddle.net/HfLq3/7/

HTML:

<div data-role="page"> 
    <form id="chips_form" name="chips_form" action="#" method="post">
        <div  data-role="fieldcontain"> 
         <fieldset data-role="controlgroup"> 
            <legend>Choose as many snacks as you'd like:</legend> 
            <input type="checkbox" name="checkbox-1a" id="checkbox-1a" class="custom chips" /> 
            <label for="checkbox-1a">Cheetos</label> 

            <input type="checkbox" name="checkbox-2a" id="checkbox-2a" class="custom chips" /> 
            <label for="checkbox-2a">Doritos</label> 

            <input type="checkbox" name="checkbox-3a" id="checkbox-3a" class="custom chips" /> 
            <label for="checkbox-3a">Fritos</label> 

            <input type="checkbox" name="checkbox-4a" id="checkbox-4a" class="custom chips" /> 
            <label for="checkbox-4a">Sun Chips</label> 

            <input type="checkbox" name="checkbox-5a" id="checkbox-5a" class="custom chips" /> 
            <label for="checkbox-5a">Select All</label> 
        </fieldset> 
        </div> 
        <div data-role="fieldcontain">
            <button type="submit"  name="submit" value="chips-submit">Submit</button>
        </div>
    </form>
</div> 

JS:

$(".chips").change(function() {
    alert('selected Value(s): '+$(this).val());
});

$('.chips').each(function() {
    $(this).attr('required','required');
});

1 Ответ

1 голос
/ 31 марта 2011
$(".chips").change(function() {
    $('.chips').attr('required', $(this).attr("checked") ? '': 'required');
});

$('.chips').attr('required','required');
...