Skip to main content

Command Palette

Search for a command to run...

Loop through all page items in APEX

Updated
2 min read
Loop through all page items in APEX

This blog has been sitting idle for too long. So starting off the New Year with a quick find!

Here is the problem:

We need to loop through all page items to apply some logic on demand, and preferably we want to do it dynamically.

Taking a look at apex.page there is a function called forEachPageItem.

Function

This is not documented in https://apex.oracle.com/jsapi but it is public. This returns a function. Here is the internal function signature and comment inside of page.js as of APEX 20.2:

// For the given form call callback once for each page item in that form. This includes disabled and unchecked items. // Page item elements are identified by having a name attribute that is not one of the well known names // input type=image not supported // See comments in ajaxSubmit as well function forEachPageItem( form$, callback, allElements )

Function Signature

It looks like can you pass a specific form as a parameter, but I am using what they use inside the page.js when the form parameter is null in other spots. This gives us back all page items on the page.

allItems = apex.page.forEachPageItem; allItems( $( "#wwvFlowForm" ), function( el, name ) { console.log(el); console.log(name); }, true );

Solution

Hope this can help someone as the majority of solutions I see online regarding this revolve already looking at the metadata views via PLSQL.

179 views

More from this blog

Oracle & More

10 posts