Выберите все отмеченные флажки с похожим идентификатором, используя JQuery?

Это может быть самый простой вопрос дня.

У меня есть группы флажков с одинаковым идентификатором (все начиная с someid_ как someid_0, someid_1..)

Я хочу получить все флажки checked.

Я пробовал $('input:checkbox[id^="someid_"]:checked'), но он не работает?

Ответ 1

этот код работает демонстрацией проверки

http://jsfiddle.net/csTpG/

Разметка

<input type="checkbox" id="someid_1" checked/>
<input type="checkbox" id="someid_2" checked/>
<input type="checkbox" id="someid_3" checked/>
<input type="checkbox" id="someid_4"/>

JQuery

var n = $('input:checkbox[id^="someid_"]:checked').length;
alert(n); // count of checked checkboxes

$('input:checkbox[id^="someid_"]:checked').each(function(){
    alert($(this).attr("id"));});

Ответ 2

<head>
    <script type="text/javascript" src="../js/jquery.js"></script>
    <script type="text/javascript">
        var isChecked = false;

        function allSelected() 
        {
            // this line is for toggle the check
            isChecked = !isChecked;

            //below line refers to 'jpCheckbox' class
            $('input:checkbox.jpCheckbox').attr('checked',isChecked);

            //OR,
            //$('input:checkbox.jpCheckbox').attr('checked','checked');
        }
    </script>
</head>

<body>
    <form>
        Select All<input type="checkbox" id="selectAllCheckbox" onclick="allSelected()" /><br/>

        A<input type="checkbox" id="jpCheckbox" class="jpCheckbox" /><br/>
        B<input type="checkbox" id="jpCheckbox" class="jpCheckbox" /><br/>
        C<input type="checkbox" id="jpCheckbox" class="jpCheckbox" /><br/>
    </form>
</body>

Ответ 3

Я не уверен, что вы можете выполнить поиск по атрибуту ID. он обычно возвращает только одно значение. Вместо этого вы можете установить класс в some_0, а затем выполнить поиск или использовать настраиваемый атрибут, например

<input type=checkbox customattr=some_1>

Ответ 4

код, который вы пробовали, абсолютно корректен, может ли код выполняться до разбора необходимых элементов, поэтому попробуйте

$(document).ready(function(){$('input:checkbox[id^="someid_"]:checked')})

Ответ 5

попробуйте это...

$('input:checkbox').filter('#someid').attr(":checked")