2010-10-22 112 views
0

我有一个html复选框,用于控制复选框列表。我希望这个复选框显示在一个“空”状态,它既不是真也是假。这可能吗?显示html复选框既不选中也不选中

<HeaderTemplate> 
    <div style="width:90px"> 
     Toggle: 
     <input id="chkAll" 
     onclick="javascript:SelectAllCheckboxes(this);" 
     runat="server" type="checkbox" /> 
    </div> 
</HeaderTemplate> 
+0

我不太明白你的意思。如果复选框正在显示,它可以有一个检查或它没有。它无法显示,也没有任何价值。 – Liggi 2010-10-22 14:35:27

+1

绝对不需要将其标记为复选框。它在技术上是一个执行动作的按钮,为什么不把它标记为按钮呢? – Alex 2010-10-22 14:51:25

+0

@Liggi - 当然可以。打开excel。选择第一行右键并选择属性。检查单词换行。然后按左上角选择整个工作表。右键单击并选择属性。该复选框不处于选中状态或未选中状态。 – kralco626 2010-10-22 14:53:29

回答

2

不,一个复选框将不允许自定义的第三个状态。你需要找到另一种处理方法。有几个来我的脑海:

  • 使用下拉列表中有三个值,或三个单选按钮
  • 使用两个复选框,一个用于分配/空,第二个为选中/取消
  • 使用图像和javascript填充隐藏的数字字段(它可能是一个假的复选框,但它不会匹配每个浏览器的外观和感觉,看起来很奇怪)
0

不,它不是。但你可以添加像'runat'这样的附加属性。

<input id="chkAll" 
     onclick="javascript:SelectAllCheckboxes(this);" 
     runat="server" type="checkbox" null="true" /> 

,或者你可以添加“已禁用”,而不是“检查”

这里是JS插件,可以帮助你: http://www.blueshoes.org/en/javascript/checkbox/

+0

哦,所以你的话只是为我自己的参考添加null?我更多地寻找视觉线索。因为我有一个网格,一些检查和一些未经检查的复选框。标题中的这个可以用来切换所有其他的。所以我想要一个空状态来表示它们有一些被检查和不被检查。 – kralco626 2010-10-22 14:42:19

+0

所以使用“禁用” - 它的标准html属性,例如在第一次点击删除属性。或者如果您希望能够选中“未选中”,要选中\取消全选 - 您可以添加额外的字段,该字段将在所有方格被选中\未选中之前显示。 – samrockon 2010-10-22 14:53:29

+0

如果你只想要一个复选框,请使用http://www.blueshoes.org/en/javascript/checkbox/ – samrockon 2010-10-22 14:59:49

2

HTML本身不支持三的概念状态复选框。您必须使用图像和文本的组合来实现自定义控件。