我们在使用input标签,多选框时,通常会看到两种状态,即选中(checked)和被选中(unchecked)。
// 选中状态也可写成checked="checked"checked:<input type="checkbox" checked>// 未选中状态不写即可unchecked:<input type="checkbox" unchecked>
但是对于checkbox还有一种模糊状态,这种状态在哪里会看到呢,如果你用过QQ邮箱的话,相信你会看到,但有可能会忽略这个细节,如QQ邮箱中效果:
那么这种效果是怎么实现的呢。indeterminate既为checkbox中的一个属性必然可以被js控制,所以可以用js来控制现有状态。
<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的样子发生改变,也就是说与真正的取值并无关系。