Index
Index 2
Why I use Linux and Firefox
HTML DB & Javascript
The Basics
Enable/Disable Form Items
HTML DB Javascript Remix
Show/Hide/Toggle Form Items
htmldb_Get Introduction
AJAX & DHTML
AJAX
Set Multiple Items
(AJAX) Auto Update Report
(AJAX) Collection Control
(AJAX) Process On Demand
(AJAX) Report Pull
(AJAX) Report Row with Detail
(AJAX) Select Items
(AJAX) Set Item Value
(AJAX) Tree
htmldb_Get Aysnc Extension
DHTML
Form Element Focus
Progress Meter On Submit
Region Tabs
Report Row With Detail (iframe)
Report Row with Detail
Shuttle (Item Based)
Shuttle (PL/SQL Based)
Smart Table
List (DHTML Tree)
Show/Hide Report Columns
HTML DB Usage
Linked Reports
HTML/CSS/Layout
HTML DB DHTML Tree
Region Position
Report Row Templates
Multi Region Form Layout
Vertical Aligned Regions
Layout Example
SVG / Canvas
Canvas #1
Custom Charts
Thermometer
Scatter (Coming Soon)
Timeline (Coming Soon)
SVG Knowledge Tree
Pie Chart CSS
Bar Spacing
Application Exports / CSS / JS
Ajax Selects
Index
>
HTML DB Layout
>
Ajax Select Items
Ajax Select List
Send This ID (only 1 and 21 are valid)
Ajax Select
%
Category 2
Category 1
P37_SELECT_DROP_XML
-
Code
An Application Item called TEMPORARY_ITEM has been created.
Text Item
Select Item Onchange
Process
declare l_counter number; l_o_name varchar2(2000); begin owa_util.mime_header('text/xml', FALSE ); htp.p('Cache-Control: no-cache'); htp.p('Pragma: no-cache'); owa_util.http_header_close; htp.prn('<select>'); for rec in (select "RANDOMDATA"."CATEGORY" as "CATEGORY", "RANDOMDATA"."NAME" as "NAME", "RANDOMDATA"."ID" as "ID" from "RANDOMDATA" "RANDOMDATA" where "RANDOMDATA"."CATEGORY" = :TEMPORARY_ITEM) loop htp.prn('<option value="' || rec.id || '">' || rec.name || '</option>'); end loop; htp.prn('</select>'); end;
Javascript
<script language="JavaScript1.1" type="text/javascript"> function get_AJAX_SELECT_XML(pThis,pSelect){ var l_Return = null; var l_Select = html_GetElement(pSelect); var get = new htmldb_Get(null,html_GetElement('pFlowId').value,'APPLICATION_PROCESS=otn_Select_XML',0); get.add('TEMPORARY_ITEM',pThis.value); gReturn = get.get('XML'); if(gReturn && l_Select){ var l_Count = gReturn.getElementsByTagName("option").length; l_Select.length = 0; for(var i=0;i<l_Count;i++){ var l_Opt_Xml = gReturn.getElementsByTagName("option")[i]; appendToSelect(l_Select, l_Opt_Xml.getAttribute('value'), l_Opt_Xml.firstChild.nodeValue) } } get = null; } function appendToSelect(pSelect, pValue, pContent) { var l_Opt = document.createElement("option"); l_Opt.value = pValue; if(document.all){/* why is ie different ask bill */ pSelect.options.add(l_Opt); l_Opt.innerText = pContent; }else{ l_Opt.appendChild(document.createTextNode(pContent)); pSelect.appendChild(l_Opt); } } </script>
Notes
Forum Link