gpt4 book ai didi

java - 通过 AjaxListener 更新值

转载 作者:行者123 更新时间:2023-12-01 12:46:21 24 4
gpt4 key购买 nike

我的问题是,我有两个字段。定义如下:

       <h:selectOneMenu id="selectSource" update=":relationTableForm:selectObject" value="#{tabDefineRelationTable.sourceId}" style="width: 100%;" required="true" requiredMessage="Source is required">
<p:ajax listener="#{tabDefineRelationTable.handleSourceChange}" />
<f:selectItem itemLabel="Select Source" itemValue="0" noSelectionOption="true" />
<f:selectItems value="#{tabDefineRelationTable.mySources}"
update=":createArtifactForm:selectObject"
var="source"
itemLabel="#{source.s_name}"
itemValue="#{source.s_id}" />
</h:selectOneMenu>
<h:selectOneMenu id="selectObject" value="#{tabDefineRelationTable.objectId}" style="width: 100%;" required="true" requiredMessage="Object is required" onchange="submit()">
<f:selectItem itemLabel="first select Source" itemValue="0" noSelectionOption="true" />
<f:selectItems value="#{tabDefineRelationTable.myObjects}"
var="object"
itemLabel="#{object.o_name}"
itemValue="#{object.o_id}" />
</h:selectOneMenu>

如果我在 selectSource 中选择,我想实现一个字段,我更新变量 objectId在后端,然后在我的前端看到它。

这是我第一次尝试实现它:变量定义

private List<Source> mySources;
private List<Objects> myObjects;
private Integer sourceId = 0;
private Integer objectId = 0;

构造函数:

public TabDefineRelationTable (TabLoader parent, List<Source> sources, List<Objects> objects) {
parentForm = parent;

mySources = sources;
myObjects = objects;
}

听众:

public void handleSourceChange() {
this.objectId = 0;
if (sourceId != 0) {
for (Source curSource : mySources) {
if (curSource.getS_id() == sourceId) {
myObjects.clear();
myObjects.addAll(curSource.getObjects());
}
}
}
}

非常感谢。

最诚挚的问候比约恩

更新 1:在我尝试使用 <p:ajax event="select" update="tabView:relationTableForm:selectObject" listener="#{tabDefineRelationTable.handleSourceChange}" /> 的解决方案之后,

<p:ajax event="select" update=":relationTableForm:selectObject" listener="#{tabDefineRelationTable.handleSourceChange}" />

<p:ajax event="select" update=":selectObject" listener="#{tabDefineRelationTable.handleSourceChange}" />

我收到此错误消息:Cannot find component with identifier "tabView:relationTableForm:selectObject" referenced from tabView:relationTableForm:selectSource".

还有其他想法吗?

更新 2: update="@([id$=output])"测试一下这个。没有错误,但该字段也没有更新:/

最佳答案

你能试试这个吗..

 <p:ajax update="selectObject" listener="#{tabDefineRelationTable.handleSourceChange}"   /> 

关于java - 通过 AjaxListener 更新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24669539/

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