Флажки в JQuery - PullRequest
       2

Флажки в JQuery

3 голосов
/ 24 февраля 2012

Здравствуйте, я пытаюсь проверить, установлены ли флажки или нет.Однако мои флажки создаются с использованием цикла for, и значение каждого флажка фактически одинаково.

Код выглядит следующим образом:

{% for keyword in keyword_list %}
    {% if keyword.keyword_name == userprofile.keywords_subscribed  %}
        <input type="checkbox" disabled="disabled" name="keywords" value="keywords"/>   {{keyword.keyword_name}}<br />
    {% else %}
        <input type="checkbox" name="cb" value="keywords"  />   {{keyword.keyword_name}}<br />
    {% endif %}
{% endfor %}

Код Jquery выглядит следующим образом:

<h2>Price of subscriptions</h2>
    <script type="text/javascript" src="/static/js/jquery-1.6.3.min.js"></script>
    <script type="text/javascript" src="/static/js/jquery-ui-1.8.16.custom.min.js"></script>
    <script type="text/javascript" src="/static/fc3/charts/FusionCharts.js"></script>
    <script type="text/javascript">
    function popup(){
        {% for price in price_list %}
            alert({{price.price_of_each_keyword}})
        {% endfor %}
    }
    function DoTheCheck() { if(document.cb2.checked == true)
                { alert('box2 is checked'); }
    }

    </script>

На данный момент это все, что я могу придумать.

Итак, как мне использовать jquery для итерации по флажкам и проверки, проверены ли они?

Я нашел некоторыепримеры в Интернете, но большинство из них фактически создали отдельные имена флажков для своего кода, и это облегчает использование jquery для их проверки.

Цените любую помощь, которую я могу получить.

Спасибо.

Ответы [ 3 ]

6 голосов
/ 24 февраля 2012

Вы можете получить список всех отмеченных флажков на сайте с помощью этого:

$('input[type=checkbox]:checked')

SHORT

Как упоминалось в Craig, существует короткая версиятакже доступно:

$(':checkbox:checked')

COUNT

И если вы хотите узнать, какие флажки установлены, просто сделайте это:

$(':checkbox:checked').length
0 голосов
/ 24 февраля 2012

У Марка хороший ответ, но если вы хотите просмотреть каждый из них и проверить его, то следующее сделает это.

$('input[type=checkbox]').each(function(){
     if($(this).is(":checked")){
         alert($(this).attr("name")+ " is checked");
     } else {
         alert($(this).attr("name")+ " is not checked");
     }
   });

надеюсь, это поможет!

0 голосов
/ 24 февраля 2012

Если вы не хотите проходить через все флажки на странице

Вы можете назначить им класс и цикл, подобный этому

$('.yourClass').each(function(i, obj) {
    if($(this).is(':checked'))
{

your code

}

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...