在HTML元素上有条件地设置Disabled和Checked属性

时间:2012-06-05 13:45:49

标签: asp.net html

我在asp GridView的模板字段中有一个按钮和一个复选框。我希望按钮的disabled属性和复选框的checked属性根据数据字段到期有条件地设置。如果Expiration等于Permanent,则应禁用该按钮并选中复选框。如果没有,则启用该按钮并取消选中复选框。我试过了:

<input type="button" id="expiration" disabled='<%# (string)Eval("Expiration") == "Permanant" ? "disabled" : "enabled" %>' value='<%# Eval("Expiration") %>'/>
<input type="checkbox" id="permanent" checked= '<%# (string)Eval("Expiration") == "Permanant" ? "checked" : "unchecked" %>'/>

但似乎只是列出了禁用和检查的属性,导致所有按钮被禁用并且所有复选框都被选中。

1 个答案:

答案 0 :(得分:4)

disabledchecked是布尔属性。他们分别接受disabledchecked

如果您不希望默认选中/禁用控件,则根本不包含该属性

由于它们是布尔属性,因此您可以省略除值之外的所有内容。

<input type="button" 
       id="expiration" 
       <%# (string)Eval("Expiration") == "Permanant" ? "disabled" : "" %> 
       value='<%# Eval("Expiration") %>'>
<input type="checkbox" 
       id="permanent" 
       <%# (string)Eval("Expiration") == "Permanant" ? "checked" : "" %>>

您的复选框应该有明确的值,请参阅DTD中的注释:

  value       CDATA          #IMPLIED  -- Specify for radio buttons and checkboxes --