We help IT Professionals succeed at work.
Get Started

How do I use onchange with a database driven select dropdown list?

1,789 Views
Last Modified: 2010-04-21
Good Morning and thank you for any assistance!

I work in Coldfusion and have a form in which one of the items is a drop down list:

<select Name="PRequestID" class="severity">
      <option value="">--- Select Location ---</option>
      <cfoutput Query="PRequest">
               <option value="#PRequestID#">#PRequest#</option>
         </cfoutput>
</select>

What I want to do is add an onchange event to the select statement that should a particular item (there are two that would cause a reaction) then a div would show below that select box directing them to other actions.  In this case that this choice allows them to resolve their issue on their own and here is the link they can follow to resolve.

This is what I have for the select statement:
<div id="Request">
      <select Name="PRequestID" class="severity" id="PRequestID" onChange="viewInfo(PRequestID);">
        <option value="">--- Select Request Type ---</option>
            <cfoutput Query="PRequest">                                                                                                      <option value="#PRequestID#">#PRequest#</option>
            </cfoutput>                               
       </select>      
</div>                  

Then I have the following div element below my select statement:
<div id="detailContent" style="text-align:center; margin:5px;"></div>

Then I have a function that I created for the onChange:
<script type="text/javascript">
      // scripts for reports.cfm
      function getHTTPObject() { var xmlhttp; /*@cc_on @if (@_jscript_version >= 5) try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } @else xmlhttp = false; @end @*/ if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp = false; } } return xmlhttp; } var http = getHTTPObject(); // We create the HTTP Object

      function viewInfo(PRequestID)      {

            *****This is where I don't know the code*****

            
      function viewHandleHttpRes() {
            if (http.readyState == 4) {
                  results = http.responseText;
                  document.getElementById('detailContent').innerHTML = results;
      }
</script>

The function is the part I am having a hard time with.  I don't know javascript.  I know that I need the onChange to be in my select statement and I know that i need to have the function place the information into the div below the select statement but I don't know the following:

How to say if PRequestID is 10 or 32 then show the links and information in the div below the select statement.

I hope this makes sense... if not I can see if I can clarify.

Thanks!
Comment
Watch Question
Commented:
This problem has been solved!
Unlock 1 Answer and 6 Comments.
See Answer
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE