Как проверить, установлен ли флажок в массиве флажков, используя id массива флажков?
Я использую следующий код, но он всегда возвращает количество отмеченных флажков независимо от id.
``js function isCheckedById(id) { alert(id); var checked = $("input[@id=" + id + "]:checked").length; alert(checked);
if (checked == 0) {
return false;
} else {
return true;
}
}
$('#' + id).is(":checked")
Получается, если флажок установлен.
Для массива флажков с одинаковым именем вы можете получить список отмеченных флажков по:
var $boxes = $('input[name=thename]:checked');
Затем, чтобы перебрать их и посмотреть, что отмечено, вы можете сделать следующее:
$boxes.each(function(){
// Do stuff here with this
});
Чтобы узнать, сколько из них проверено, можно сделать следующее:
$boxes.length;
Идентификаторы должны быть уникальными в вашем документе, что означает, что вам **не следует делать этого:
<input type="checkbox" name="chk[]" id="chk[]" value="Apples" />
<input type="checkbox" name="chk[]" id="chk[]" value="Bananas" />
Вместо этого опустите ID, а затем выберите их по имени или по содержащему элементу:
<fieldset id="checkArray">
<input type="checkbox" name="chk[]" value="Apples" />
<input type="checkbox" name="chk[]" value="Bananas" />
</fieldset>
А теперь jQuery:
var atLeastOneIsChecked = $('#checkArray:checkbox:checked').length > 0;
//there should be no space between identifier and selector
// or, without the container:
var atLeastOneIsChecked = $('input[name="chk[]"]:checked').length > 0;
$('#checkbox').is(':checked');
Приведенный выше код возвращает true, если флажок установлен, и false, если нет.
Все следующие методы полезны:
$('#checkbox').is(":checked")
$('#checkbox').prop('checked')
$('#checkbox')[0].checked
$('#checkbox').get(0).checked
Рекомендуется, чтобы параметр domelement или inline "эта.проверено, что" следует избегать вместо jQuery на метод следует использовать прослушиватель событий.
код jQuery, чтобы проверить, является ли флажок установлен или нет:
if($('input[name="checkBoxName"]').is(':checked'))
{
// checked
}else
{
// unchecked
}
В качестве альтернативы:
if($('input[name="checkBoxName"]:checked'))
{
// checked
}else{
// unchecked
}
наиболее важным понятием, чтобы помнить о проверенных атрибут что это не соответствует свойство checked. Атрибут В самом деле соответствует свойство defaultChecked и должны быть использованы только чтобы задать начальное значение флажка. Атрибутом checked значение не изменяется с состояния флажка, а проверено собственностью. Таким образом, кросс-браузер совместимый способ определить, если установлен флажок Использовать свойство
Все приведенные ниже методы можно
elem.checked
$(elem).prop("checked")
$(elem).is(":checked")
Вы можете использовать этот код,
if($("#checkboxId").is(':checked')){
// Code in the case checkbox is checked.
} else {
// Code in the case checkbox is NOT checked.
}
В соответствии с jQuery документации Существуют следующие способы, чтобы проверить, если установлен флажок или нет. Рассмотрим галку например (проверить работает [jsfiddle][2] все примеры)
<input type="checkbox" name="mycheckbox" id="mycheckbox" />
<br><br>
<input type="button" id="test-with-checked" value="Test with checked" />
<input type="button" id="test-with-is" value="Test with is" />
<input type="button" id="test-with-prop" value="Test with prop" />
Пример 1 - проверено
$("#test-with-checked").on("click", function(){
if(mycheckbox.checked) {
alert("Checkbox is checked.");
} else {
alert("Checkbox is unchecked.");
}
});
Пример 2 - с jQuery является Примечание :проверено
var check;
$("#test-with-is").on("click", function(){
check = $("#mycheckbox").is(":checked");
if(check) {
alert("Checkbox is checked.");
} else {
alert("Checkbox is unchecked.");
}
});
Пример 3 - с jQuery проп
var check;
$("#test-with-prop").on("click", function(){
check = $("#mycheckbox").prop("checked");
if(check) {
alert("Checkbox is checked.");
} else {
alert("Checkbox is unchecked.");
}
});
Проверить рабочее [jsfiddle][2]
Вы можете попробовать это:
<script>
function checkAllCheckBox(value)
{
if($('#select_all_').is(':checked')){
$(".check_").attr ( "checked" ,"checked" );
}
else
{
$(".check_").removeAttr('checked');
}
}
</script>
<input type="checkbox" name="chkbox" id="select_all_" value="1" />
<input type="checkbox" name="chkbox" class="check_" value="Apples" />
<input type="checkbox" name="chkbox" class="check_" value="Bananas" />
<input type="checkbox" name="chkbox" class="check_" value="Apples" />
<input type="checkbox" name="chkbox" class="check_" value="Bananas" />
Я знаю, что ОП библиотека jQuery, но в моем случае чисто JS был ответ, так что если кто-то вроде меня здесь и не имеют jQuery или не хотите использовать его - вот в JS ответ:
document.getElementById("myCheck").checked
Она возвращает true, если входной сигнал с кодом myCheck установлен, и false, если это не проверено.
Просто.
Вы можете сделать это просто, как;
[Рабочая Скрипка][1]
В формате HTML<БР>
<input id="checkbox" type="checkbox" />
на jQuery<БР>
$(document).ready(function () {
var ckbox = $('#checkbox');
$('input').on('click',function () {
if (ckbox.is(':checked')) {
alert('You have Checked it');
} else {
alert('You Un-Checked it');
}
});
});
или даже проще;
$("#checkbox").attr("checked") ? alert("Checked") : alert("Unchecked");
Если установлен флажок `это возвращает
истина, иначе
не определено`
Простой демо для проверки и установив флажок.
[jsfiddle](
"и этот текст появляется при наведении курсора на")!$('.attr-value-name').click(function() {
if($(this).parent().find('input[type="checkbox"]').is(':checked'))
{
$(this).parent().find('input[type="checkbox"]').prop('checked', false);
}
else
{
$(this).parent().find('input[type="checkbox"]').prop('checked', true);
}
});
Просто сказать в моем примере ситуация диалоговое окно, затем проверил флажок до закрытия диалога. Ни один из выше https://stackoverflow.com/questions/901712/how-do-i-check-if-a-checkbox-is-checked?page=1&tab=active#tab-верхней и https://stackoverflow.com/questions/7960208/jquery-if-checkbox-is-checked по-видимому, не работает.
В конце концов
<input class="cb" id="rd" type="checkbox">
<input class="cb" id="fd" type="checkbox">
var fd=$('.cb#fd').is(':checked');
var rd= $('.cb#rd').is(':checked');
Это работает, так что называть класс, идентификатор. а не просто идентификатор. Это может быть из-за вложенных элементов DOM на этой странице вызывающие вопрос. Решение было выше.
На самом деле, согласно данным jsperf.com, операции дом являются самыми быстрыми, затем $().опоры() и $().это()!!
Вот синтаксис :
var checkbox = $('#'+id);
/* OR var checkbox = $("input[name=checkbox1]"); whichever is best */
/* The DOM way - The fastest */
if(checkbox[0].checked == true)
alert('Checkbox is checked!!');
/* Using jQuery .prop() - The second fastest */
if(checkbox.prop('checked') == true)
alert('Checkbox is checked!!');
/* Using jQuery .is() - The slowest in the lot */
if(checkbox.is(':checked') == true)
alert('Checkbox is checked!!');
Я лично предпочитаю .опора()
. В отличие от `.это (), она может также использоваться, чтобы установить значение.
Что-то вроде этого может помочь
togglecheckBoxs = function( objCheckBox ) {
var boolAllChecked = true;
if( false == objCheckBox.checked ) {
$('#checkAll').prop( 'checked',false );
} else {
$( 'input[id^="someIds_"]' ).each( function( chkboxIndex, chkbox ) {
if( false == chkbox.checked ) {
$('#checkAll').prop( 'checked',false );
boolAllChecked = false;
}
});
if( true == boolAllChecked ) {
$('#checkAll').prop( 'checked',true );
}
}
}
Для чекбокс с ID
<input id="id_input_checkbox13" type="checkbox"></input>
вы можете просто сделать
$("#id_input_checkbox13").prop('checked')
вы получите true
или false
в качестве возвращаемого значения для выше синтаксис. Вы можете использовать его в если положение, как нормальное логическое выражение.
Поскольку она's в середине 2019 и jQuery иногда берет место сзади к вещам, как VueJS, реагировать и т. д. Здесь'с чистой ванили на JavaScript функцию прослушивателя события onload:
<script>
// Replace 'admincheckbox' both variable and ID with whatever suits.
window.onload = function() {
const admincheckbox = document.getElementById("admincheckbox");
admincheckbox.addEventListener('click', function() {
if(admincheckbox.checked){
alert('Checked');
} else {
alert('Unchecked');
}
});
}
</script>
Используя этот код, вы можете проверить, по крайней мере, один флажок установлен или нет в разных группах флажок или из нескольких чекбоксов. С помощью этого вы не можете требовать, чтобы удалить идентификаторы или динамические идентификаторы. Этот код работать с теми же идентификаторами.
Ссылка Ссылка
<label class="control-label col-sm-4">Check Box 2</label>
<input type="checkbox" name="checkbox2" id="checkbox21" value=ck1 /> ck1<br />
<input type="checkbox" name="checkbox2" id="checkbox22" value=ck2 /> ck2<br />
<label class="control-label col-sm-4">Check Box 3</label>
<input type="checkbox" name="checkbox3" id="checkbox31" value=ck3 /> ck3<br />
<input type="checkbox" name="checkbox3" id="checkbox32" value=ck4 /> ck4<br />
<script>
function checkFormData() {
if (!$('input[name=checkbox2]:checked').length > 0) {
document.getElementById("errMessage").innerHTML = "Check Box 2 can not be null";
return false;
}
if (!$('input[name=checkbox3]:checked').length > 0) {
document.getElementById("errMessage").innerHTML = "Check Box 3 can not be null";
return false;
}
alert("Success");
return true;
}
</script>