Posted on Saturday, October 22, 2011 Return multiple value using jQuery UI autocomplete Category APEX and jQuery Here is how you can return multiple values when using jQuery UI autocomplete. You can see working example from here. First create text item P46_SEARCH where we set autocomplete. Then create display only items P46_ENAME, P46_EMPNO, P46_JOB and P46_MGR where return values from autocomplete. Next create On Demand process called EMP_DATA: DECLARE l_sql VARCHAR2(32000); BEGIN l_sql := ' SELECT e.ename, e.empno, e.job, e.mgr FROM emp e WHERE UPPER(e.ename) LIKE ''' || UPPER(APEX_APPLICATION.G_x01) || '%' || ''' ORDER BY 1 '; APEX_UTIL.JSON_FROM_SQL(l_sql); EXCEPTION WHEN OTHERS THEN HTP.p ('{"row":[]}'); END; Then add to page HTML header JavaScript: <script type="text/javascript"> $(function(){ $("#P46_SEARCH").autocomplete({ source: function(req,src){ $.ajax({ type:"POST", url:"wwv_flow.show", dataType:"json", data:{ p_flow_id:"&APP_ID.", p_flow_step_id:"&APP_PAGE_ID.", p_instance:"&APP_SESSION.", p_request:"APPLICATION_PROCESS=EMP_DATA", x01:req.term }, success:function(jd){ src($.map(jd.row,function(jr){return{value:jr.ENAME,empno:jr.EMPNO,job:jr.JOB,mgr:jr.MGR}})); } }); }, focus:function(ev,ui){return setItems(this,ui);}, select:function(ev,ui){return setItems(this,ui);} }); }); function setItems(pThis,ui){ $s(pThis,ui.item.value); $("#P46_ENAME").text(ui.item.value); $("#P46_EMPNO").text(ui.item.empno); $("#P46_JOB").text(ui.item.job); $("#P46_MGR").text(ui.item.mgr); return false; } </script> If you like have text item instead display only item for P46_ENAME, P46_EMPNO, P46_JOB and P46_MGR, change JavaScript function setItems to be: function setItems(pThis,ui){ $s(pThis,ui.item.value); $s("P46_ENAME",ui.item.value); $s("P46_EMPNO",ui.item.empno); $s("P46_JOB",ui.item.job); $s("P46_MGR",ui.item.mgr); return false; } Check more about jQuery autocomplete options from jQuery UI site. See also relating OTN forum post.