我们在使用input标签,多选框时,通常会看到两种状态,即选中(checked)和被选中(unchecked)。
1 2 3 4 | checked:<input type= "checkbox" checked>
unchecked:<input type= "checkbox" unchecked>
|
但是对于checkbox还有一种模糊状态,这种状态在哪里会看到呢,如果你用过QQ邮箱的话,相信你会看到,但有可能会忽略这个细节,如QQ邮箱中效果:
那么这种效果是怎么实现的呢。indeterminate既为checkbox中的一个属性必然可以被js控制,所以可以用js来控制现有状态。
1 2 3 4 5 | <input id= "check" type= "checkbox" >
<script>
var Check = document.getElementById( 'check' );
Check.indeterminate = true ;
</script>
|
出现的效果同QQ邮箱中效果一样,以下为不同浏览器中indeterminate状态显示情况:
IE(10):
firefox:
chrome:
值得注意的是,虽然indeterminate贵为checkbox的属性,但在html中单独使用并不会出现效果。并且indeterminate只会对checkbox的样子发生改变,也就是说与真正的取值并无关系。