Как проверить, установлен ли флажок в jQuery?

Мне нужно проверить свойство checked флажка и выполнить действие на основе проверенного свойства с помощью jQuery.

Например, если установлен флажок age, тогда мне нужно показать текстовое поле для ввода возраста, иначе скройте текстовое поле.

Но следующий код возвращает false по умолчанию:

 if ($('#isAgeSelected').attr('checked'))
{
    $("#txtAge").show();
}
else
{
    $("#txtAge").hide();
}
 

Как успешно запросить свойство checked ?

вопрос задан 23.05.2009
Prasad
25685 репутация

60 ответов


  • 3135 рейтинг

    Как успешно запросить проверенное свойство?

    Свойство checked элемента DOM флажка даст вам checked состояние элемента.

    Учитывая существующий код, вы можете сделать следующее:

     if(document.getElementById('isAgeSelected').checked) {
        $("#txtAge").show();
    } else {
        $("#txtAge").hide();
    }
     

    Тем не менее, есть более красивый способ сделать это, используя toggle :

     $('#isAgeSelected').click(function() {
        $("#txtAge").toggle(this.checked);
    }); 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <input type="checkbox" id="isAgeSelected"/>
    <div id="txtAge" style="display:none">Age is something</div> 

    ответ дан karim79, с репутацией 289168, 23.05.2009
  • 1577 рейтинг

    Используйте функцию jQuery's () :

     if($("#isAgeSelected").is(':checked'))
        $("#txtAge").show();  // checked
    else
        $("#txtAge").hide();  // unchecked
     
    ответ дан Bhanu Krishnan, с репутацией 3503, 22.06.2011
  • 481 рейтинг

    Использование jQuery> 1.6

     <input type="checkbox" value="1" name="checkMeOut" id="checkMeOut" checked="checked" />
    
    // traditional attr
    $('#checkMeOut').attr('checked'); // "checked"
    // new property method
    $('#checkMeOut').prop('checked'); // true
     

    Использование нового метода свойств:

     if($('#checkMeOut').prop('checked')) {
        // something when checked
    } else {
        // something else when not
    }
     
    ответ дан SeanDowney, с репутацией 9853, 23.06.2011
  • 185 рейтинг

    jQuery 1.6+

     $('#isAgeSelected').prop('checked')
     

    jQuery 1.5 и ниже

     $('#isAgeSelected').attr('checked')
     

    Любая версия jQuery

     // Assuming an event handler on a checkbox
    if (this.checked)
     

    Весь кредит принадлежит Сиану .

    ответ дан ungalcrys, с репутацией 3164, 20.05.2014
  • 149 рейтинг

    Я использую это, и это работает абсолютно нормально:

     $("#checkkBoxId").attr("checked") ? alert("Checked") : alert("Unchecked");
     

    Примечание. Если флажок установлен, он вернет true, иначе не определено, поэтому лучше проверьте значение «ИСТИНА».

    ответ дан Pradeep, с репутацией 417, 19.08.2010
  • 123 рейтинг

    Использование:

     <input type="checkbox" name="planned_checked" checked id="planned_checked"> Planned
    
    $("#planned_checked").change(function() {
        if($(this).prop('checked')) {
            alert("Checked Box Selected");
        } else {
            alert("Checked Box deselect");
        }
    });
     

         $("#planned_checked").change(function() {
            if($(this).prop('checked')) {
                alert("Checked Box Selected");
            } else {
                alert("Checked Box deselect");
            }
        }); 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <input type="checkbox" name="planned_checked" checked id="planned_checked"> Planned 

    ответ дан Lalji Dhameliya, с репутацией 934, 29.08.2016
  • 108 рейтинг

    Начиная с jQuery 1.6, поведение jQuery.attr() изменилось, и пользователям рекомендуется не использовать его для извлечения проверенного состояния элемента. Вместо этого вы должны использовать jQuery.prop() :

     $("#txtAge").toggle(
        $("#isAgeSelected").prop("checked") // For checked attribute it returns true/false;
                                            // Return value changes with checkbox state
    );
     

    Две другие возможности:

     $("#txtAge").get(0).checked
    $("#txtAge").is(":checked")
     
    ответ дан Salman A, с репутацией 165526, 27.04.2012
  • 84 рейтинг

    Это сработало для меня:

     $get("isAgeSelected ").checked == true
     

    Где isAgeSelected - идентификатор элемента управления.

    Кроме того, ответ @ karim79 работает отлично. Я не уверен, что я пропустил, когда тестировал.

    Обратите внимание, что это ответ использует Microsoft Ajax, а не jQuery

    ответ дан Prasad, с репутацией 25685, 24.05.2009
  • 81 рейтинг

    Если вы используете обновленную версию jquery, вы должны пойти для метода .prop чтобы решить вашу проблему:

    $('#isAgeSelected').prop('checked') вернет true если отмечено, и false если не отмечен. Я подтвердил это, и я столкнулся с этим вопросом ранее. $('#isAgeSelected').attr('checked') и $('#isAgeSelected').is('checked') возвращает undefined что не является достойным ответом на ситуацию. Сделайте так, как указано ниже.

     if($('#isAgeSelected').prop('checked')) {
        $("#txtAge").show();
    } else {
        $("#txtAge").hide();
    }
     

    Надеюсь, это поможет:) - Спасибо.

    ответ дан Rajesh Omanakuttan, с репутацией 4849, 25.08.2013
  • 55 рейтинг

    Использование обработчика событий Click для свойства checkbox является ненадежным, поскольку свойство checked может меняться во время выполнения самого обработчика события!

    В идеале вы хотите поместить свой код в обработчик события change например, он запускается каждый раз при изменении значения флажка (независимо от того, как это делается).

     $('#isAgeSelected').bind('change', function () {
    
       if ($(this).is(':checked'))
         $("#txtAge").show();
       else
         $("#txtAge").hide();
    });
     
    ответ дан arviman, с репутацией 3461, 6.10.2011
  • 50 рейтинг

    Я решил опубликовать ответ о том, как сделать то же самое без jQuery. Просто потому, что я мятежник.

     var ageCheckbox = document.getElementById('isAgeSelected');
    var ageInput = document.getElementById('txtAge');
    
    // Just because of IE <333
    ageCheckbox.onchange = function() {
        // Check if the checkbox is checked, and show/hide the text field.
        ageInput.hidden = this.checked ? false : true;
    };
     

    Сначала вы получаете оба элемента по их идентификатору. Затем вы назначаете checkboxe в onchange событие функцию , которая проверяет был ли проверяется флажок и устанавливает hidden свойства текстового поля возраста соответственно. В этом примере используется тернарный оператор.

    Вот скрипка для вас, чтобы проверить ее.

    добавление

    Если кросс-браузерная совместимость является проблемой, я предлагаю установить для свойства CSS display значение none и inline .

     elem.style.display = this.checked ? 'inline' : 'none';
     

    Медленнее, но совместимо с несколькими браузерами.

    ответ дан Octavian Damiean, с репутацией 35106, 20.03.2012
  • 40 рейтинг

    Я считаю, вы могли бы сделать это:

     if ($('#isAgeSelected :checked').size() > 0)
    {
        $("#txtAge").show(); 
    } else { 
        $("#txtAge").hide();
    }
     
    ответ дан xenon, с репутацией 1330, 23.05.2009
  • 39 рейтинг

    Есть много способов проверить, установлен ли флажок или нет:

    Способ проверки с помощью jQuery

     if (elem.checked)
    if ($(elem).prop("checked"))
    if ($(elem).is(":checked"))
    if ($(elem).attr('checked'))
     

    Пример проверки или документ:

    ответ дан Parth Chavda, с репутацией 1514, 14.10.2014
  • 38 рейтинг

    Я столкнулся с тем же вопросом. У меня установлен флажок ASP.NET

     <asp:CheckBox ID="chkBox1" CssClass='cssChkBox1' runat="server" />
     

    В коде jQuery я использовал следующий селектор, чтобы проверить, был ли флажок установлен или нет, и, похоже, он работает как шарм.

     if ($("'.cssChkBox1 input[type=checkbox]'").is(':checked'))
    { ... } else { ... }
     

    Я уверен, вы также можете использовать ID вместо CssClass,

     if ($("'#cssChkBox1 input[type=checkbox]'").is(':checked'))
    { ... } else { ... }
     

    Я надеюсь, это поможет вам.

    ответ дан Nertim, с репутацией 325, 16.12.2010
  • 36 рейтинг

    Это работает для меня:

     /* isAgeSelected being id for checkbox */
    
    $("#isAgeSelected").click(function(){
      $(this).is(':checked') ? $("#txtAge").show() : $("#txtAge").hide();
    });
     
    ответ дан ashish amatya, с репутацией 59, 6.01.2011
  • 33 рейтинг

    Это другой способ сделать то же самое:

     $(document).ready(function (){
    
        $('#isAgeSelected').click(function() {
            // $("#txtAge").toggle(this.checked);
    
            // Using a pure CSS selector
            if ($(this.checked)) {
                alert('on check 1');
            };
    
            // Using jQuery's is() method
            if ($(this).is(':checked')) {
                alert('on checked 2');
            };
    
            //  // Using jQuery's filter() method
            if ($(this).filter(':checked')) {
                alert('on checked 3');
            };
        });
    }); 
     <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <input type="checkbox" id="isAgeSelected"/>
    <div id="txtAge" style="display:none">Age is something</div> 

    ответ дан Sangeet Shah, с репутацией 1685, 24.08.2015
  • 32 рейтинг

    Использовать это:

     if ($('input[name="salary_in.Basic"]:checked').length > 0)
     

    Если флажок установлен, длина больше нуля.

    ответ дан Hamid N K, с репутацией 29, 27.07.2016
  • 31 рейтинг

    Вы можете использовать этот код:

     $('#isAgeSelected').click(function(){
       console.log(this.checked);
       if(this.checked == true) {
            $("#txtAge").show();
        } else {
           $("#txtAge").hide();
       }
    });
     
    ответ дан sandeep kumar, с репутацией 596, 13.10.2016
  • 30 рейтинг
     $(selector).attr('checked') !== undefined
     

    Это возвращает true если вход отмечен, а false - нет.

    ответ дан fe_lix_, с репутацией 918, 12.02.2012
  • 30 рейтинг
    $(document).ready(function() {    
        $('#agecheckbox').click(function() {
            if($(this).is(":checked"))
            {
                $('#agetextbox').show();
            } else {
                $('#agetextbox').hide();
            }
        });
    });
    
    ответ дан Jumper Pot, с репутацией 146, 25.11.2014
  • 30 рейтинг

    Мой способ сделать это:

     if ( $("#checkbox:checked").length ) {       
        alert("checkbox is checked");
    } else {
        alert("checkbox is not checked");
    }
     
    ответ дан Dalius I, с репутацией 845, 6.02.2012
  • 28 рейтинг

    Вы можете использовать:

       if(document.getElementById('isAgeSelected').checked)
        $("#txtAge").show();  
      else
        $("#txtAge").hide();
     

     if($("#isAgeSelected").is(':checked'))
      $("#txtAge").show();  
    else
      $("#txtAge").hide();
     

    Оба они должны работать.

    ответ дан Muhammad Awais, с репутацией 1659, 28.04.2016
  • 24 рейтинг

    Этот пример для кнопки.

    Попробуйте следующее:

     <input type="button" class="check" id="checkall" value="Check All" />  &nbsp; <input type="button" id="remove" value="Delete" /> <br/>
    
    <input type="checkbox" class="cb-element"  value="1" /> Checkbox  1 <br/>
    <input type="checkbox" class="cb-element"  value="2" /> Checkbox  2 <br/>
    <input type="checkbox" class="cb-element"  value="3" /> Checkbox  3 <br/>
    
    
    $('#remove').attr('disabled', 'disabled'); 
    
    $(document).ready(function() {  
    
        $('.cb-element').click(function() {
    
            if($(this).prop('checked'))
            {
                $('#remove').attr('disabled', false);
            }
            else
            {
                $('#remove').attr('disabled', true);
            }
        });   
    
        $('.check:button').click(function()
    {
        var checked = !$(this).data('checked');
        $('input:checkbox').prop('checked', checked);
        $(this).data('checked', checked);
    
        if(checked == true)
        {
            $(this).val('Uncheck All');
             $('#remove').attr('disabled', false);
        }
    
        else if(checked == false)
        {
            $(this).val('Check All');
            $('#remove').attr('disabled', true);
        }
    });
    });
     
    ответ дан usayee, с репутацией 43, 3.01.2014
  • 23 рейтинг

    1) Если ваша разметка HTML:

     <input type="checkbox"  />
     

    attr используется:

     $(element).attr("checked"); // Will give you undefined as initial value of checkbox is not set
     

    Если используется prop:

     $(element).prop("checked"); // Will give you false whether or not initial value is set
     

    2) Если ваша разметка HTML:

      <input type="checkbox"  checked="checked" />// May be like this also  checked="true"
     

    attr используется:

     $(element).attr("checked") // Will return checked whether it is checked="true"
     

    Используемый Prop:

     $(element).prop("checked") // Will return true whether checked="checked"
     
    ответ дан Somnath Kharat, с репутацией 2680, 30.10.2013
  • 23 рейтинг

    Главный ответ не сделал этого для меня. Это произошло, хотя:

     <script type="text/javascript">
        $(document).ready(function(){
    
            $("#li_13").click(function(){
                if($("#agree").attr('checked')){
                    $("#saveForm").fadeIn();
                }
                else
                {
                    $("#saveForm").fadeOut();
                }
            });
        });
    </script>
     

    В основном, когда элемент # li_13 щелкнут, он проверяет, согласен ли элемент # (который является флажком), используя функцию .attr('checked') . Если это тогда, то fadeIn в элементе #saveForm, и если не fadeOut элемент saveForm.

    ответ дан MDMoore313, с репутацией 1726, 10.12.2012
  • 21 рейтинг

    Переключить: 0/1 или иначе

     <input type="checkbox" id="nolunch" />
    <input id="checklunch />"
    
        $('#nolunch').change(function () {
        if ($(this).is(':checked')) {
            $('#checklunch').val('1');
        };
        if ($(this).is(':checked') == false) {
            $('#checklunch').val('0');
        };
    });
     
    ответ дан user2385302, с репутацией 24, 8.01.2015
  • 19 рейтинг

    Хотя вы предложили решение JavaScript для своей проблемы (отображая textbox когда checkbox равно checked ), эту проблему можно решить только css . При таком подходе ваша форма работает для пользователей, которые отключили JavaScript.

    Предполагая, что у вас есть следующий HTML:

     <label for="show_textbox">Show Textbox</label>
    <input id="show_textbox" type="checkbox" />
    <input type="text" />
     

    Вы можете использовать следующий CSS для достижения желаемой функциональности:

      #show_textbox:not(:checked) + input[type=text] {display:none;}
     

    Для других сценариев вы можете подумать о соответствующих селекторах CSS.

    Вот сценарий, демонстрирующий этот подход .

    ответ дан Ormoz, с репутацией 2004, 22.08.2015
  • 19 рейтинг

    Я использую это:

      <input type="checkbox" id="isAgeSelected" value="1" /> <br/>
     <input type="textbox" id="txtAge" />
    
     $("#isAgeSelected").is(':checked') ? $("#txtAge").show() : $("#txtAge").hide();
     
    ответ дан Nishant Kumar, с репутацией 2769, 6.09.2013
  • 16 рейтинг
     if($("#checkkBoxId").is(':checked')){
      alert("Checked=true");
    }
     

    или

     if($("#checkkBoxId").attr('checked') == true){
      alert("checked=true");
    }
     
    ответ дан ijarlax, с репутацией 415, 10.06.2013
  • 15 рейтинг

    Я думаю, что это будет простой

     $('#isAgeSelected').change(function() {
        if($(this).is(":checked")) {
            $('#txtAge').show();
        }
    else{
            $('#txtAge').hide();
        }                                          
    });
     
    ответ дан Jitendra Damor, с репутацией 477, 4.06.2015
  • 15 рейтинг

    Я уверен, что это не какое-то откровение, но я не видел всего этого в одном примере:

    Селектор для всех отмеченных флажков (на странице):

     $('input[type=checkbox]:checked')
     
    ответ дан Tsonev, с репутацией 270, 15.11.2013
  • 14 рейтинг

    Включите jQuery из локальной файловой системы. Я использовал CDN от Google, и есть также много CDN на выбор.

     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
     

    Код будет выполнен, как только будет установлен флажок внутри mycheck класса. Если установлен флажок текущего щелчка, он отключит все остальные и включит текущий. Если текущий не снят, он снова включит все флажки для повторной проверки.

     <script type="text/javascript">
        $(document).ready(function() {
    
            var checkbox_selector = '.mycheck input[type=checkbox]';
    
            $(checkbox_selector).click(function() {
                if ($($(this)).is(':checked')) {
    
                    // Disable all checkboxes
                    $(checkbox_selector).attr('disabled', 'disabled');
    
                    // Enable current one
                    $($(this)).removeAttr('disabled');
                }
                else {
                    // If unchecked open all checkbox
                    $(checkbox_selector).removeAttr('disabled');
                }
            });
        });
    </script>
     

    Простая форма для тестирования

     <form method="post" action="">
        <div class="mycheck">
            <input type="checkbox" value="1" /> Television
            <input type="checkbox" value="2" /> Computer
            <input type="checkbox" value="3" /> Laptop
            <input type="checkbox" value="4" /> Camera
            <input type="checkbox" value="5" /> Music Systems
        </div>
    </form>
     

    Экран вывода:

    Введите описание изображения здесь

    ответ дан Madan Sapkota, с репутацией 15708, 2.03.2013
  • 14 рейтинг

    Я проверил в Firefox 9.0.1, что следующее работает для улавливания состояния изменения флажка:

     $("#mycheckbox").change(function() {
        var value = $(this).prop("checked") ? 'true' : 'false';                     
        alert(value);
    });
     
    ответ дан Joshua Harris, с репутацией 360, 7.02.2012
  • 12 рейтинг

    Атрибут checked из input type="checkbox" сопоставляется с свойством defaultChecked , а не с свойством checked .

    Поэтому, когда вы делаете что-то на странице, когда флажок установлен на uncheked, используйте вместо этого prop() метода. Он извлекает значение свойства и изменяется по мере изменения состояния флажка.

    Использование attr( ) или getAttribute (в чистом JavaScript) в этих случаях не является правильным способом делать вещи.

    если elem - соответствующий флажок, то сделайте что-то подобное, чтобы получить значение:

     elem.checked
     

    или

     $(elem).prop('checked')
     
    ответ дан subham.saha1004, с репутацией 464, 10.10.2013
  • 10 рейтинг

    автоматизированный

     $(document).ready(function()
    {
        $('#isAgeSelected').change(function()
        {
            alert( 'value =' + $('#chkSelect').attr('checked') );
        });
    });
     

    HTML

     <b> <input type="isAgeSelected" id="chkSelect" /> Age Check </b>
    
    <br/><br/>
    
    <input type="button" id="btnCheck" value="check" />
     

    JQuery

     $(document).ready(function()
    {
        $('#btnCheck').click(function()
        {
            var isChecked = $('#isAgeSelected').attr('checked');
    
            if (isChecked == 'checked')
                alert('check-box is checked');
            else
                alert('check-box is not checked');
        })
    });
     

    Ajax

     function check()
    {
        if (isAgeSelected())
            alert('check-box is checked');
        else
            alert('check-box is not checked');
    }
    
    function isAgeSelected()
    {
        return ($get("isAgeSelected").checked == true);
    }
     
    ответ дан Khaled.K, с репутацией 4996, 14.05.2014
  • 10 рейтинг

    Это минимальное количество кода, я думаю, что мне нужно было сделать что-то подобное. Я нашел этот метод полезным; он возвращает массив отмеченных флажков, а затем вы можете использовать их значение (это решение использует jQuery):

     // This is how you get them
    var output = "";
    var checkedBoxes = $("DivCheckBoxesAreIn").children("input:checked");
    if(checkedBoxes.length <= 0) {
        alert('Please select check boxes');
        return false;
    };
    
    // And this is how you use them:
    checkedBoxes.each(function() {
        output +=  this.value + ", ";
    };
     

    Печать «output» даст вам список ваших значений, разделенный запятыми.

    ответ дан Daryl H, с репутацией 485, 15.07.2013
  • 10 рейтинг

    У меня была такая же проблема, и ни одна из опубликованных решений, похоже, не работала, и тогда я узнал, что это связано с тем, что ASP.NET отображает элемент управления CheckBox как SPAN с INPUT внутри, поэтому идентификатор CheckBox на самом деле является идентификатором SPAN, а не INPUT, поэтому вы должны использовать:

     $('#isAgeSelected input')
     

    скорее, чем

     $('#isAgeSelected')
     

    и тогда все методы, перечисленные выше, должны работать.

    ответ дан tsw_mik, с репутацией 77, 9.12.2010
  • 10 рейтинг

    Вот пример, который включает инициализацию show /hide в соответствии с состоянием флажка при загрузке страницы ; принимая во внимание тот факт, что firefox запоминает состояние флажков при обновлении страницы, но не запоминает состояние отображаемых /скрытых элементов.

     $(function() {
        // initialise visibility when page is loaded
        $('tr.invoiceItemRow').toggle($('#showInvoiceItems').attr('checked'));
        // attach click handler to checkbox
        $('#showInvoiceItems').click(function(){ $('tr.invoiceItemRow').toggle(this.checked);})
    });
     

    (с помощью других ответов на этот вопрос)

    ответ дан Tim Abell, с репутацией 5941, 10.05.2011
  • 9 рейтинг

    Это было моим обходным путем:

     $('#vcGoButton').click(function () {
        var buttonStatus = $('#vcChangeLocation').prop('checked');
        console.log("Status is " + buttonStatus);
        if (buttonStatus) {
            var address = $('#vcNewLocation').val();
            var cabNumber = $('#vcVehicleNumber').val();
            $.get('postCabLocation.php',
                  {address: address, cabNumber: cabNumber},
                  function(data) {
                      console.log("Changed vehicle " + cabNumber + " location to " + address );
                  });
        }
        else {
            console.log("VC go button clicked, but no location action");
        }
    });
     
    ответ дан cauleyfj, с репутацией 21, 25.02.2013
  • 9 рейтинг

    сеттер:

     $("#chkmyElement")[0].checked = true;
     

    Getter:

     if($("#chkmyElement")[0].checked) {
       alert("enabled");
    } else {
       alert("disabled");
    }
     
    ответ дан JJ_Coder4Hire, с репутацией 2638, 22.04.2014
  • 8 рейтинг

    Использование:

     $(this).toggle($("input:checkbox", $(this))[0].checked);
     

    Когда вы выбираете из контекста, помните, что вам нужно [0], чтобы получить доступ к этому флажку.

    ответ дан Richard Maxwell, с репутацией 405, 23.01.2013
  • 8 рейтинг

    Я бы предпочел бы событие change .

     $('#isAgeSelected').change(function() {
        $("#txtAge").toggle(this.checked);
    });
     

    Демо-скрипт

    ответ дан Tarion, с репутацией 6764, 30.08.2014
  • 8 рейтинг

    Попробуй это,

     $('#isAgeSelected').click(function() {
        if(this.checked){
            $("#txtAge").show();
        } else{
            $("#txtAge").hide();
        } 
    });
     
    ответ дан Mohammed Safeer, с репутацией 8947, 3.09.2015
  • 7 рейтинг

    Использование:

     <input type="checkbox" id="abc" value="UDB">UDB
    <input type="checkbox" id="abc" value="Prasad">Prasad
    
    $('input#abc').click(function(){
      if($(this).is(':checked'))
      {
        var checkedOne=$(this).val()
        alert(checkedOne);
    
        // Do some other action
      }
    })
     

    Это может помочь, если вы хотите, чтобы требуемые действия выполнялись только при установке флажка не во время удаления проверки.

    ответ дан UDB, с репутацией 1427, 29.09.2013
  • 6 рейтинг

    Я использую jQuery 1.11.1, и у меня были проблемы с настройкой и чтением флажка.

    Я, наконец, решил это двумя этими функциями:

     function setCheckboxValue(checkBoxId, checked) {
        if (checkBoxId && (checked === true || checked === false)) {
            var elem = $('#' + checkBoxId);
            if (checked === true) {
                elem.attr('checked', 'checked');
            } else {
                elem.removeAttr('checked');
            }
        }
    }
    
    function isChecked(checkBoxId) {
        return $('#' + checkBoxId).attr('checked') != null;
    }
     

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

    ответ дан Jacob, с репутацией 1390, 18.05.2017
  • 6 рейтинг

    Селектор возвращает несколько объектов, и он должен взять первый элемент в массиве:

     // Collection
    var chckremember = $("#chckremember");
    
    
    // Result boolen
    var ischecked=chckremember[0].checked;
     
    ответ дан zamoldar, с репутацией 351, 29.03.2015
  • 6 рейтинг

    Просто используйте его, как показано ниже.

      $('#isAgeSelected').change(function() {
         if ($(this).is(":checked")) { // or if($("#isAgeSelected").attr('checked') == true){
             $('#txtAge').show();
         } else {
             $('#txtAge').hide();
         }
     });
     
    ответ дан Himanshu Upadhyay, с репутацией 418, 14.07.2018
  • 6 рейтинг
    if( undefined == $('#isAgeSelected').attr('checked') ) {
        $("#txtAge").hide();
    } else {
        $("#txtAge").show();
    }
    
    ответ дан user1996628, с репутацией 21, 21.01.2013
  • 3 рейтинг

    Как насчет этого решения?

     $("#txtAge")[
        $("#isAgeSelected").is(':checked') ?
        'show' :
        'hide'
    ]();
     
    ответ дан Iter Ator, с репутацией 1580, 30.09.2016
  • 2 рейтинг

    Для более старых версий jQuery мне пришлось использовать следующие,

     $('#change_plan').live('click', function() {
         var checked = $('#change_plan').attr('checked');
         if(checked) {
              //Code       
         }
         else {
              //Code       
         }
    });
     
    ответ дан Vajira Lasantha, с репутацией 857, 29.06.2015