Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7597957
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 30, 20262026-05-30T22:17:16+00:00 2026-05-30T22:17:16+00:00

I have a ui:repeat of auction items inside a table. It is a regular

  • 0

I have a ui:repeat of auction items inside a table. It is a regular html table because when you click on a Bid commandLink a row opens right under the selected auction item, and displays a bidding component. The Bid commandLink is using ajax like this:

<f:ajax listener="#{bean.addBidView(lot)}" render="bidView" />

addBidView is updating a map of auctionItems and that’s how the correct selected row opens up. When the user clicks on the same Bid link again, the addBidView figures it out and closes the bidding component.

Now let’s say the user clicks on several rows, and thus opens several bidding components. They all open, but only one is active. So here’s my question: how do I get the entire loop to render when I use the above ajax, so that opening a bidding component would automatically close the other open ones. (the auction items map is reflecting the correct bidding component, but only this one bidding area is rendered, so the others aren’t effected. If I’m refreshing the whole page, the display is correct, and the problem only exists when I’m using ajax.)

This is the structure of the elements on the page (all this is inside an h:form:)

<table id="bidstable">
    <h:panelGroup id="entireLoop">
        <ui:repeat id="repeatAuctionItems" var="auctionItem" varStatus="status" value="#{bean.auctionItems}">
            <td>... a bunch of td's with the auction item values ... and then: 
                <h:commandLink id="bid" rendered="#{some conditions}">
                    <f:ajax listener="#{bean.addBidView(auctionItem)}" render="bidView"/>
                </h:commandLink>
            </td>
        </ui:repeat>
    </h:panelGroup>
</table>

I tried pretty much every combination of elements in the “render” — for example:

render="bidView bidsTable"

or
render=”bidView bidsTable:entireLoop:repeateAuctionItems”

and every other trail I can think of. Nothing works. Any ideas?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-30T22:17:18+00:00Added an answer on May 30, 2026 at 10:17 pm

    You have specified a client ID in the <f:ajax render> attribute which is relative to the current NamingContainer component. Client IDs which do not start with the naming container separator character, which defaults to :, are relative to the current NamingContainer component. The <ui:repeat> is such a component. So the client ID has to refer a child of <ui:repeat>. But the component which you are trying to reference is actually outside the <ui:repeat>. You’d need to reference it with an absolute client ID instead.

    To find the absolute client ID, you need to open the page in the browser, rightclick and do View Source and then locate the generated HTML of the closest parent JSF component outside <ui:repeat>, which is in your particular case the <h:panelGroup id="entireLoop">. It’ll look something like:

    <span id="someId:possiblyOtherId:entireLoop">
    

    Take exactly this client ID and prefix it with : for usage in <f:ajax render>.

    <f:ajax ... render=":someId:possiblyOtherId:entireLoop" />
    

    If it contains a dynamically generated ID like j_id_123, then you’d need to give all parent NamingContainer components like <h:form> a fixed ID like <h:form id="someId">.

    Note that it is not possible to reference the client ID of a plain HTML element like <table id="bidsTable">. It has to be a fullworthy JSF component like <h:dataTable id="bidsTable">.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have such code in my JSF template: <h:form> <table id=users cellspacing=0> <a4j:repeat var=person
I have a table that per row has some inputs and one edit button.
I'm adding repeating events to a Cocoa app I'm working on. I have repeat
How can I have SQL repeat some set-based operation an arbitrary number of times
I have a simple 'repeat with' in an AppleScript, and would like to move
i have used following code to repeat a process creation/close iteratively dim vProcessInfo as
I have a client report (rdlc) and want to repeat some textboxes in every
I have this in my CSS file: body {style.css (line 3) background:#CDF8FF url(images/final_bg.jpg) no-repeat
I have this background, the css code is: body { background: #FFF url('images/bg.png') no-repeat
i have the following script css: img { background-image:url(man.png); background-repeat:no-repeat; padding-top:6px; padding-bottom:60px; padding-left:10px; padding-right:10px;

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.