尽管未设置检查,但复选框输入评估为已选中

时间:2017-12-11 06:00:57

标签: javascript html css html5

所以我试图弄清楚为什么以下评估为真,我一直认为如果checked属性被省略,那么它就不会评估为已检查。我已经仔细检查了下面的内容,以确保状态不会因为某些JS而发生变化。还在Chrome,Safari和Firefox上验证了所有内容,并将其评估为正在检查的复选框。有什么想法吗?

<input type="checkbox" name="shipping[same_as_billing]" id="shipping:same_as_billing" value="1" onclick="shipping.setSameAsBilling(this.checked);">

2 个答案:

答案 0 :(得分:1)

你可以把简单的onclick功能作为。其中this.checked设置checkbox的状态是否已选中。

&#13;
&#13;
function setSameAsBilling(status){
  console.log(status);
  if(status == true){
    console.log('checked')
    return true;
  }else{
    console.log('Not checked')
   return false;
 }

}
&#13;
<input type="checkbox" name="shipping[same_as_billing]" id="shipping:same_as_billing" value="1" onclick="setSameAsBilling(this.checked);">
&#13;
&#13;
&#13;

答案 1 :(得分:0)

为您的复选框执行控制台日志,如下所示:

<input type="checkbox" onclick="console.log(this.defaultChecked)"/>

如果您的复选框已默认选中,则this.checked的值将设置为 true ,直到您更改为止。

如果您希望默认值为false,请通过设置:

进行更改
this.defaultChecked = false; 

取自W3SC:

  

defaultChecked属性返回checked的默认值   属性。

     

如果默认选中该复选框,则此属性返回true,   否则返回false。