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

4124

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

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

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

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

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

  • 0
    Проверьте некоторые другие способы сделать это с помощью jQuery здесь stackoverflow.com/a/22019103/1868660
  • 0
    $('#isAgeSelected').change(function(){ alert($('#chkSelect').attr('checked')); });
Показать ещё 10 комментариев
Теги:
dom
checkbox

58 ответов

83
Лучший ответ

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

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

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

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

Примечание. Это ответ использует Microsoft Ajax, а не jQuery

3261

Как мне выполнить запрос на проверенное свойство?

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

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

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

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

$('#isAgeSelected').click(function() {
    $("#txtAge").toggle(this.checked);
});
<script src="/jquery.min.js"></script>
<input type="checkbox" id="isAgeSelected"/>
<div id="txtAge" style="display:none">Age is something</div>
  • 34
    я пробовал вышеупомянутое условие тоже, но он возвращает только ложь
  • 0
    Что-то не так. На самом деле, код, который вы указали в своем вопросе, должен работать. Вы ссылаетесь на правильный элемент?
Показать ещё 21 комментарий
1476

Использовать функцию jQuery is():

if($("#isAgeSelected").is(':checked'))
    $("#txtAge").show();  // checked
else
    $("#txtAge").hide();  // unchecked
  • 14
    Если вам не нужна длительность, замедление и т. Д., Вы можете использовать $("#txtAge").toggle($("#isAgeSelected").is(':checked'))
  • 13
    +1 есть разные способы получить проверенную недвижимость. Некоторые из них перечислены здесь
Показать ещё 7 комментариев
497

Использование 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
}
  • 25
    Я хотел бы знать, почему это не ответ ... если вы вообще используете jquery, то метод .prop - это разработанный способ проверки реквизита. ... ... Если вы собираетесь использовать подход .is(":checked") , это нормально, но это не спроектированный способ сделать это с помощью jquery. право?
  • 1
    @dsdsdsdsd предположительно потому, что для этого нужен еще один шаг обратной совместимости (сейчас я сталкиваюсь с той же проблемой).
Показать ещё 2 комментария
179

jQuery 1.6 +

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

jQuery 1.5 и ниже

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

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

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

Все кредиты относятся к Xian.

  • 8
    Технически this.checked использует прямой Javascript. Но мне нравится этот кросс-jQuery-версия ответа!
142

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

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

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

  • 6
    Это работает, потому что $ ("# checkkBoxId"). Attr ("флажок") возвращает "проверено" или "" (пустая строка). И пустая строка ложная, непустая строка правдивая, см. О значениях истина / ложь docs.nodejitsu.com/articles/javascript-conventions/…
  • 6
    По jquery 2.1.x он возвращает всегда проверено, если он проверен по умолчанию ... Я не знаю, является ли это поведение преднамеренным, но это, безусловно, не работает (я думаю, что это ошибка) ... Val () тоже не работает, остается включенным. Prop () работает правильно, и dom.checked тоже работает.
Показать ещё 1 комментарий
117

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

<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="/jquery.min.js"></script>
<input type="checkbox" name="planned_checked" checked id="planned_checked"> Planned
106

Так как 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")
  • 4
    По какой-то причине, prop ("флажок") работал для меня, но не работает (': флажок')
  • 0
    и $ ("# txtAge") [0] .checked
80

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

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

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

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

  • 0
    почему не $('#isAgeSelected').checked ?
  • 1
    чтобы использовать .is вам нужно двоеточие $ ('# isAgeSelected'). is (': флажок')
53

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

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

$('#isAgeSelected').bind('change', function () {

   if ($(this).is(':checked'))
     $("#txtAge").show();
   else
     $("#txtAge").hide();
});
  • 3
    Начиная с jQuery 1.7, метод .on() является предпочтительным методом для присоединения обработчиков событий к документу.
48

Я решил опубликовать ответ о том, как сделать то же самое без 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 текстового поля возраста. В этом примере используется тернарный оператор.

Вот вам fiddle, чтобы проверить его.

Добавление

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

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

Более медленный, но совместимый с кросс-браузером.

  • 0
    Ну, .hidden не очень кросс-браузерный, хотя мне нравится это решение :)
  • 0
    Это действительно лучший способ использовать style . Это прискорбно, поскольку .hidden производительность намного лучше .
Показать ещё 2 комментария
38

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

if ($('#isAgeSelected :checked').size() > 0)
{
    $("#txtAge").show(); 
} else { 
    $("#txtAge").hide();
}
  • 0
    предупреждение (. $ ( 'вход [имя = isAgeSelected]') атр ( 'проверено')); Код выше показывает true / false на основе проверки. Любая проблема с предыдущими попытками
  • 0
    Прасад, вы ссылаетесь на свой флажок по имени или идентификатору? Я запутался сейчас ...
Показать ещё 3 комментария
37

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

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

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

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

36

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

/* isAgeSelected being id for checkbox */

$("#isAgeSelected").click(function(){
  $(this).is(':checked') ? $("#txtAge").show() : $("#txtAge").hide();
});
36

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

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

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

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

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

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

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

34

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

$(document).ready(function (){

    $('#isAgeSelected').click(function() {
        // $("#txtAge").toggle(this.checked);

        // Using a pure CSS selector
        if ($(this.checked)) {
            alert('on check 1');
        };

        // Using jQuery is() method
        if ($(this).is(':checked')) {
            alert('on checked 2');
        };

        //  // Using jQuery filter() method
        if ($(this).filter(':checked')) {
            alert('on checked 3');
        };
    });
});
<script src="/jquery-1.9.1.js"></script>
<input type="checkbox" id="isAgeSelected"/>
<div id="txtAge" style="display:none">Age is something</div>
31
$(document).ready(function() {    
    $('#agecheckbox').click(function() {
        if($(this).is(":checked"))
        {
            $('#agetextbox').show();
        } else {
            $('#agetextbox').hide();
        }
    });
});
31
$(selector).attr('checked') !== undefined

Возвращает true, если вход проверен и false, если это не так.

  • 4
    Я понимаю, почему это может работать в определенных сценариях, хотя имеет ту же проблему, что и .attr('checked') в том, что он не всегда возвращает правильное состояние. Согласно ответу Салмана А (и, возможно, других), безопаснее использовать вместо этого .prop('checked') . Кроме того, также можно объявить undefined как var undefined = 'checked'; ,
  • 0
    .prop('checked') теперь кажется лучшим ответом. Это не было так надежно в то время, когда это было написано. Я не понимаю и не думаю, что это хорошая идея переопределить неопределенное.
Показать ещё 2 комментария
31

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

if ( $("#checkbox:checked").length ) {       
    alert("checkbox is checked");
} else {
    alert("checkbox is not checked");
}
30

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

$('#isAgeSelected').click(function(){
   console.log(this.checked);
   if(this.checked == true) {
        $("#txtAge").show();
    } else {
       $("#txtAge").hide();
   }
});
29

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

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

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

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

28

Используйте это:

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

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

25

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

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

<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);
    }
});
});
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.

22

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"
  • 0
    Это НАСТОЯЩАЯ проблема. Мой обходной путь - добавьте событие изменения к входу: <input type = "checkbox" onchange = "ChangeChkBox ()" /> затем используйте это событие для изменения логической переменной JavaScript и используйте переменную JavaScript вместо прямого запроса флажка.
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');
    };
});
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.

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

19

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

 <input type="checkbox" id="isAgeSelected" value="1" /> <br/>
 <input type="textbox" id="txtAge" />

 $("#isAgeSelected").is(':checked') ? $("#txtAge").show() : $("#txtAge").hide();
16
if($("#checkkBoxId").is(':checked')){
  alert("Checked=true");
}

или

if($("#checkkBoxId").attr('checked') == true){
  alert("checked=true");
}
15

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

$('#isAgeSelected').change(function() {
    if($(this).is(":checked")) {
        $('#txtAge').show();
    }
else{
        $('#txtAge').hide();
    }                                          
});
15

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

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

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

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

<script src="/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>

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

Изображение 2011

14

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

$("#mycheckbox").change(function() {
    var value = $(this).prop("checked") ? 'true' : 'false';                     
    alert(value);
});
12

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

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

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

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

elem.checked

или

$(elem).prop('checked')
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);
}
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" даст вам список ваших значений, разделенный запятыми.

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);})
});

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

10

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

$('#isAgeSelected input')

а не

$('#isAgeSelected')

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

9

сеттер:

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

Getter:

if($("#chkmyElement")[0].checked) {
   alert("enabled");
} else {
   alert("disabled");
}
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");
    }
});
8

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

$('#isAgeSelected').click(function() {
    if(this.checked){
        $("#txtAge").show();
    } else{
        $("#txtAge").hide();
    } 
});
8

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

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

Демо-скрипт

8

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

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

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

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
  }
})

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

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;
}

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

6

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

// Collection
var chckremember = $("#chckremember");


// Result boolen
var ischecked=chckremember[0].checked;
6
if( undefined == $('#isAgeSelected').attr('checked') ) {
    $("#txtAge").hide();
} else {
    $("#txtAge").show();
}
3

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

$("#txtAge")[
    $("#isAgeSelected").is(':checked') ?
    'show' :
    'hide'
]();
2

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

$('#change_plan').live('click', function() {
     var checked = $('#change_plan').attr('checked');
     if(checked) {
          //Code       
     }
     else {
          //Code       
     }
});
2
if( undefined == $('#isAgeSelected').attr('checked') ) {
    $("#txtAge").hide();
} else {
    $("#txtAge").show();
}
1

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

 $('#isAgeSelected').change(function() {
     if ($(this).is(":checked")) { // or if($("#isAgeSelected").attr('checked') == true){
         $('#txtAge').show();
     } else {
         $('#txtAge').hide();
     }
 });
1
$('#chk').change(function() { 
    (this.checked)? alert('true') : alert('false');
});



($('#chk')[0].checked)? alert('true') : alert('false');
1

Эта функция является альтернативной и стабильной:

$('#isAgeSelected').context.checked
(return True/False)

Пример:

if($('#isAgeSelected').context.checked){ //if Checkbox is checked then bla bla..
    /*.....*/
}else{
    /*.....*/
}
1

Если вам нужно использовать CSS-класс как селектор jQuery, вы можете сделать следующее:

$(document).ready(function () {
        $('.myOptionCheckbox').change(function () {            
            if ($(this).prop('checked') == true) {
                console.log("checked");           
            }
            else {
                console.log("unchecked");                
            }
        });
    });

Он отлично работает для checkboxes и radioboxes.

0

Если вам нужно знать, установлен ли флажок в чистом javascript вы должны использовать этот код.

let checkbox =document.getElementById('myCheckboxId');
if(checkbox.checked) {
    alert("element is checked");
} else {
    alert("element is  ot checked");
}
0
if($('#isAgeSelected').prop('checked')) {
    // do your action 
}
0

$("#isAgeSelected").prop('checked', true);

  • 3
    Этот код может установить флажок в статус проверено. Я не думаю, что этот ответ относится к вопросу.
-13

Для снятия отметки целей это может помочь:

$('#chkbox').removeAttr('checked');

Ещё вопросы

Сообщество Overcoder
Наверх
Меню