简体   繁体   English

使元素在JSF2中的ajax上可见

[英]Make element visible on ajax in JSF2

I have dataTable in my page. 我的页面中有dataTable Initially I want it to be hidden, and show after fetching data by AJAX request. 最初,我希望它被隐藏,并在通过AJAX请求获取数据后显示。 I know how to fetch data and put into table, but I don't know how to show table if it is hidden. 我知道如何获取数据并将其放入表中,但是如果隐藏表,我不知道如何显示它。 Here is the code: 这是代码:

<h:commandButton value="aa">
  <f:ajax execute="from to validTo" render="transportOffers"/>
</h:commandButton>
<p:dataTable id="transportOffers" value="${cargoOffer.transportsForCargo}" var="transport">
  <p:column>
    <h:outputText value="${transport.company}"/>
  </p:column>
</p:dataTable>

Table is visible initially, even if it is empty. 该表最初是可见的,即使它为空。 If I set rendered="false" it is invisible, and remains invisible also after AJAX request. 如果将rendered="false"设置为不可见,则在AJAX请求后也保持不可见。

How can I make it hidden initially, and to show up after populating with data? 如何使它最初隐藏并在填充数据后显示?

您可以尝试让dataTable根据列表的大小有条件地呈现:

rendered = "#{cargoOffer.transportsForCargo.size() != 0}"

我认为如果rendered=false则不会创建该元素,因此AJAX请求无法找到它。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM