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

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

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

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

if ($('#isAgeSelected').attr('checked'))
{
    $("#txtAge").show();
}
else
{
    $("#txtAge").hide();
}
<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 selected
</div>

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

4307
задан 23 revs, 16 users 27% 28 August 2019 в 04:40
поделиться

7 ответов

У меня это сработало:

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

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

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

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

94
ответ дан 17 December 2019 в 16:00
поделиться

можно попробовать событие изменения флажка

$("#isAgeSelected").on('change',function(){
    if($("#isAgeSelected").is(':checked'))
        alert("checked");  
    else{
         alert("unchecked");  
    }
});
0
ответ дан Ajay Katariya 4 October 2019 в 06:59
поделиться

Действовать на флажок, проверяемый или непроверенный по щелчку.

<input type="checkbox" id="customCheck1">

 $('#customCheck1').click(function () {
        if (this.checked == true) {
            console.log('checked');
        }
        else {
            console.log('un-checked');
        }
    });
0
ответ дан Dan Walters 4 October 2019 в 06:59
поделиться

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

if ($('#isAgeSelected :checked').size() > 0)
{
    $("#txtAge").show(); 
} else { 
    $("#txtAge").hide();
}
48
ответ дан 17 December 2019 в 16:00
поделиться

How do I successfully query the checked property?

The checked property of a checkbox DOM element will give you the checked state of the element.

Given your existing code, you could therefore do this:

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

However, there's a much prettier way to do this, using toggle:

$('#isAgeSelected').click(function() { $("#txtAge").toggle(this.checked); });
  
3357
ответ дан 17 December 2019 в 16:00
поделиться

В чистом js флажке состояние легче читать

isAgeSelected.checked

function check() {
  txtAge.style.display= isAgeSelected.checked ? 'block':'none';
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Age <input type="checkbox" id="isAgeSelected"/>

<button onclick="check()">Check</button>

<div id="txtAge" style="display:none">
Age is selected
</div>
2
ответ дан 17 December 2019 в 16:00
поделиться

Привет можно использовать плоскость Javascript, как так:

document.getElementById('checkboxOption').addEventListener('click',      
   event => console.log(event.target.checked)
);
<label><input type="checkbox" id="checkboxOption">Check Option</label>
0
ответ дан 17 December 2019 в 16:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: