我有两个输入的形式,其中一个值取决于另一个。当用户更改一个字段时,我需要重新计算值(这是在 setter 方法中完成的)并更新表单。
这是我的例子:
<h:form>
<p:inputText id="price1" value="#{bean.price1}"}">
<p:ajax event="blur" update="@this, price2"/>
</p:inputText>
<p:inputText id="price2" value="#{bean.price2}">
<p:ajax event="blur" update="@this, price1"/>
</p:inputText>
</h:form>
问题是更新焦点丢失后,例如如果用户使用 Tab 键从 price1 移动到 price2。
最佳答案
你可以试试这个:
<h:form id="fm">
<script type="text/javascript">
function test(){
$(PrimeFaces.escapeClientId('fm:price2')).focus();
}
</script>
<p:inputText id="price1" value="#{bean.price1}" >
<p:ajax event="blur" oncomplete="test();" update="@this, price2" listener="#{bean.hand}"/>
</p:inputText>
<p:inputText widgetVar="xxx" id="price2" value="#{bean.price2}">
<p:ajax event="blur" update="@this, price1"/>
</p:inputText>
</h:form>
关于javascript - 更新后焦点丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16032284/