asp.net 显示html复选框既不选中也不不选中

vc9ivgsu  于 2023-03-31  发布在  .NET
关注(0)|答案(4)|浏览(140)

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

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

smtd7mpg1#

不,复选框不允许自定义第三状态。您需要找到另一种方法来处理它。我想到了一些:

  • 使用包含三个值的下拉列表或三个单选按钮
  • 使用两个复选框,一个用于assigned/null,第二个用于checked/unchecked
  • 使用图像和JavaScript填充隐藏的数字字段(它可能是一个假复选框,但它不会匹配每个浏览器的外观和感觉,可能看起来很奇怪)
ny6fqffe

ny6fqffe2#

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

fiei3ece

fiei3ece3#

不,它不是。但是你可以添加额外的属性,比如你有'runat'。

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

或者你可以加上“disabled”而不是“checked”
以下是可以帮助您js插件:http://www.blueshoes.org/en/javascript/checkbox/

jqjz2hbq

jqjz2hbq4#

从2023年起,您可以将复选框设置为不确定,这实际上代表了第三种状态:

<input id = "test" type = "checkbox" />

<script>
    document.getElementById("test").indeterminate = true;
</script>

现在的OP可能是一堆骨头慢慢变成灰尘,但这个问题仍然值得一个现代的答案。

相关问题