gpt4 book ai didi

readonly - 是否可以禁用一组单选按钮中的一个选项?

转载 作者:行者123 更新时间:2023-12-03 03:32:15 29 4
gpt4 key购买 nike

我有一个单选按钮控件,其中有两个项目。

<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)到只读节点来禁用单选按钮。 (是的,如果你能做到这一点那就太好了。)

就目前情况而言,我认为您需要:

  1. 创建 2 <xforms:select1> 。一个用于“添加”,一个用于“删除”,因此您可以在某些条件下将第二个设置为只读。
  2. 要使其只读,但不让“添加”也只读,您需要将它们绑定(bind)到 2 个单独的节点。
  3. 如果您希望 1 个节点具有 A 或 D,则需要创建一个计算来根据这 2 个值填充该节点。
  4. 您希望这些值是互斥的,但如果您有两个 <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/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com