繁体   English   中英

如果布尔值是true,如何检查复选框?

[英]How to checked checkbox if boolean value is true?

我正在使用jsp应用程序,并且我有一个带有复选框的表单,我从数据库中检索了一个名为“ principal”的位字段的数据,我可以获取此字段的值,该值是布尔值,但是我不能根据“ principal”的值选中或取消选中该复选框。

这是我的JSP代码:

<tr>
 <td>Principal:</td>
  <td colspan="2">
   <input type="checkbox" id="a_principal" name="a_principal" value="<%=directorio.isPrincipal()%>"/>
  </td>
</tr>

JavaScript代码:

$(function (){
    if('#a_principal' == true){
         $("input:checkbox").attr('checked', true);
    }else{
        $("input:checkbox").attr('checked', false);
    }

});

提前致谢。

使用prop设置选中的属性并获得正确的if条件。 attr不能保证与element和prop的布尔属性相反。 看到这里的区别 同样,条件'#a_principal' == true始终为true。

$("input:checkbox").prop('checked', $('#a_principal').length); 
// i dont know if you meant $('#a_principal').prop('checked') then
$("input:checkbox").prop('checked', $('#a_principal').prop('checked'));  
//but here :checkbx generic selector will select a_principal as well, so be specific 

提供完整的html将有助于更好地解决您的问题,但是请尝试以下操作:

   var $principal = $('#a_principal');
   $("input:checkbox").not($principal).prop('checked', $principal.prop('checked'));  

尝试使用.prop而不是.attr()

$(function (){
    if($('#a_principal').val()== "true"){           
         $("input:checkbox").prop('checked',true);
    }else{
        $("input:checkbox").prop('checked', false);
    }
});

Js小提琴演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM