检查checkbox是否使用jQuery进行检查

如何检查checkbox数组中的checkbox是否使用checkbox数组的ID进行检查?

我正在使用下面的代码,但它总是返回选中checkbox的计数,无论id。

function isCheckedById(id) { alert(id); var checked = $("input[@id=" + id + "]:checked").length; alert(checked); if (checked == 0) { return false; } else { return true; } } 

您的文档中的ID必须是唯一的,这意味着您不应该这样做:

 <input type="checkbox" name="chk[]" id="chk[]" value="Apples" /> <input type="checkbox" name="chk[]" id="chk[]" value="Bananas" /> 

相反,请删除ID,然后按名称或包含元素select它们:

 <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; 
 $('#' + id).is(":checked") 

如果checkbox被选中,就会得到。

对于具有相同名称的checkbox数组,您可以通过以下方式获取已选中的列表:

 var $boxes = $('input[name=thename]:checked'); 

然后循环浏览它们,查看可以执行的操作:

 $boxes.each(function(){ // Do stuff here with this }); 

要find有多less人被检查,你可以这样做:

 $boxes.length; 
 $('#checkbox').is(':checked'); 

如果checkbox被选中,上面的代码返回true,否则返回false。

要记住关于checked属性的最重要的概念是它不对应于checked属性。 该属性实际上对应于defaultChecked属性,只能用于设置checkbox的初始值。 检查的属性值不会随checkbox的状态而变化,而检查的属性值会变化。 因此,确定checkbox是否被选中的跨浏览器兼容方式是使用该属性

以下所有方法都是可能的

 elem.checked $(elem).prop("checked") $(elem).is(":checked") 

以下所有方法都是有用的:

 $('#checkbox').is(":checked") $('#checkbox').prop('checked') $('#checkbox')[0].checked $('#checkbox').get(0).checked 

build议应该避免使用DOMelement或inline“this.checked”,而应该使用jQuery on方法来使用事件监听器。

你可以使用这个代码,

 if($("#checkboxId").is(':checked')){ // Code in the case checkbox is checked. } else { // Code in the case checkbox is NOT checked. } 

检查checkbox是否被选中的jQuery代码:

 if($('input[name="checkBoxName"]').is(':checked')) { // checked }else { // unchecked } 

或者:

 if($('input[name="checkBoxName"]:checked')) { // checked }else{ // unchecked } 

你可以试试这个:

 <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 文档 ,有以下几种方法来检查checkbox是否被选中。 让我们考虑一个checkbox例如(检查工作与所有例子jsfiddle

 <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 prop

 var check; $("#test-with-prop").on("click", function(){ check = $("#mycheckbox").prop("checked"); if(check) { alert("Checkbox is checked."); } else { alert("Checkbox is unchecked."); } }); 

检查工作jsfiddle

您可以使用jQuery以下推荐的任何代码。

 if ( elem.checked ) {}; if ( $( elem ).prop( "checked" ) ) {}; if ( $( elem ).is( ":checked" ) ) {}; 

你可以这样做,就像;

工作小提琴

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

如果checkbox被选中,则返回true否则返回undefined

简单的演示检查和设置checkbox。

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

对于带有ID的checkbox

 <input id="id_input_checkbox13" type="checkbox"></input> 

你可以简单的做

 $("#id_input_checkbox13").prop('checked') 

你会得到truefalse作为上述语法的返回值。 你可以在if子句中使用它作为正常的布尔expression式。

像这样的东西可以帮助

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

实际上,根据jsperf.com ,DOM操作是最快的,然后$()。prop()后跟$()。is()!!

这里是语法:

 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!!'); 

我个人比较喜欢.prop() 。 与.is()不同,它也可以用来设置值。

只是在我的例子中说的情况是一个对话框,然后在closures对话框之前validationcheckbox。 以上都没有, 如何检查checkbox是否在jQuery中检查? 如果checkbox被选中 , jQuery也不会出现。

到底

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

这工作,所以调用类,然后ID。 而不仅仅是ID。 这可能是由于此页面上嵌套的DOM元素导致的问题。 解决办法在上面。

切换checkbox被选中

 $("#checkall").click(function(){ $("input:checkbox").prop( 'checked',$(this).is(":checked") ); }) 

使用下面的代码

 <script> $(document).ready(function () { $("[id$='chkSendMail']").attr("onchange", "ShowMailSection()"); } function ShowMailSection() { if ($("[id$='chkSendMail'][type='checkbox']:checked").length >0){ $("[id$='SecEmail']").removeClass("Hide"); } </script>