我想使用xf:setvalue设置自动填充字段的值。我知道首先我必须设置字段值然后设置标签(@label)。我试着按照以下方式做到这一点:
<xf:setvalue ref="xxf:instance('fr-form-instance')//*[name() = $autocomplete-name]" value="'myValue'"/>
<xf:setvalue ref="xxf:instance('fr-form-instance')//*[name() = $autocomplete-name]/@label" value="'labelValue'"/>
之后在表单构建器中我看到,在主实例中,它看起来正确:
<xf:instance id="fr-form-instance" xxf:exclude-result-prefixes="#all">
<form>
<section-5>
<control-10 label="labelValue">myValue</control-10>
</section-5>
</form>
</xf:instance>
但遗憾的是在我的自动填充字段中没有任何变化。只有当我去编辑源代码时才能注意到这一变化。表单生成器中的按钮,如果没有任何更改,请单击“应用”。然后自动刷新会自动刷新,我会看到我的标签:&#39; labelValue&#39;。我该怎么做,在setvalue之后刷新自动完成字段?
问候
答案 0 :(得分:1)
您需要setting the label of the autocomplete执行此操作,而不是通过将fr-set-label
事件分派给自动完成控件来完成此操作。然后,在内部,自动完成将执行与用户输入该标签时非常相似的操作,特别是调用服务以检索相应的值。