作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个单选按钮控件,其中有两个项目。
<xforms:select1 ref="add-delete" appearance="full">
<xforms:item>
<xforms:label>Add</xforms:label>
<xforms:value>A</xforms:value>
</xforms:item>
<xforms:item>
<xforms:label>Delete</xforms:label>
<xforms:value>D</xforms:value>
</xforms:item>
</xforms:select1>
我想在条件 X 上仅禁用“删除”单选按钮,而不禁用“添加”单选按钮。我该如何执行此操作?
我尝试将类属性与 xforms:item 一起使用,但这不起作用。还有其他方法可以做到这一点吗?
最佳答案
好问题。不幸的是,这并不像应有的那么容易做到:
如果您只是想隐藏删除单选按钮而不是禁用,则可以替换 <xforms:item>
对于 <xforms:itemset ref="…">
的“删除”当您希望不显示该单选按钮时,您绑定(bind)到一个不相关的节点。但是您不能使用相同的技术通过将项集绑定(bind)到只读节点来禁用单选按钮。 (是的,如果你能做到这一点那就太好了。)
就目前情况而言,我认为您需要:
<xforms:select1>
。一个用于“添加”,一个用于“删除”,因此您可以在某些条件下将第二个设置为只读。<xforms:select1>
,则它们不会是互斥的。 ,因此当选择“添加”以响应 xforms-select
时,您需要取消选择“删除” ,反之亦然。在模型中,您将拥有:
<xforms:instance>
<instance>
<add/>
<delete/>
<add-delete/>
<delete-enabled>true</delete-enabled>
</instance>
</xforms:instance>
<xforms:bind ref="add-delete" calculate="string-join((../add, ../delete), ' ')"/>
<xforms:bind ref="delete" readonly="../delete-enabled = 'false'"/>
在 View 中:
<xforms:select1 ref="instance()/add" appearance="full">
<xforms:item>
<xforms:label>Add</xforms:label>
<xforms:value>A</xforms:value>
</xforms:item>
<xforms:setvalue ev:event="xforms-select" ref="instance()/delete"/>
</xforms:select1>
<xforms:select1 ref="instance()/delete" appearance="full">
<xforms:item>
<xforms:label>Delete</xforms:label>
<xforms:value>D</xforms:value>
</xforms:item>
<xforms:setvalue ev:event="xforms-select" ref="instance()/add"/>
</xforms:select1>
并参见this Gist了解此示例的完整源代码。
关于readonly - 是否可以禁用一组单选按钮中的一个选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8117157/
我是一名优秀的程序员,十分优秀!