【发布时间】:2016-12-26 20:46:19
【问题描述】:
我是 JSF 的新手,我对 h:selectOneMenu 有一些问题 我有国家的组合 1 和城市的组合 2,我想在组合 1 更改时重新加载组合 2 并始终将组合 2 保留为默认值(--select--)。 我正在使用 ajax 事件来重新加载值并且效果很好,但是每次更改时我都无法保留我想要的默认值。
<h:selectOneMenu id="country" value="#{bean.country}">
<f:selectItem itemValue="" itemLabel="--Select--" />
<f:selectItems value="#{bean.getCountrys()}" />
<f:ajax event="change" listener="#{bean.getCitys}" render="city" execute="@this"></f:ajax>
</h:selectOneMenu>
<h:selectOneMenu id="city" value="#{bean.city}">
<f:selectItem itemValue="" itemLabel="--Select--" />
<f:selectItems value="#{bean.getCitys()}" />
</h:selectOneMenu>
编辑: 感谢您的回复,但它并没有解决问题。让我给你一个完整的例子,让它更清楚(我的英语很糟糕......)。问题是当第二个选择与第一个选择具有相同的值时,例如。 组合 1 标志: 1.德国 2.意大利 3.西班牙 4.法国
Combo2 颜色。 (选择德国) 1. 黑色 2. 红色。 3. 黄色
我选择黑色!,然后我在组合 1 中选择意大利,因为意大利国旗上没有黑色,它会返回 --Select-- 但是,如果意大利国旗有黑色,它会重新加载其余的值,但将黑色保留为选中状态,而不是返回到 --select-- 现在更清楚了吗?
【问题讨论】:
标签: jsf javabeans selectonemenu