Solved

Javascript to grab Text-Label as a value from a Select Box Option

Posted on 2007-11-16
4
1,017 Views
Last Modified: 2013-11-19
I have a select box and a hidden field.

I want to use an onchange handler to update the hidden field

<script>
function updHidden {
document.forms[0].TxtLabel=?
}
</script>
<select onchange=updHidden>
<option value=1>John Doe
<option value=2>Jane Doe
</select>
<hidden name=TxtLabel value="">

I can do the value part but this time I need the label and not sure how to get it.

Help.

0
Comment
Question by:Bob-Villa
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
4 Comments
 
LVL 21

Expert Comment

by:nizsmo
ID: 20301171
something like this:
<script>
function updHidden() {
document.getElementById('txtlabel').value="Your_Value_HERE";
}
</script>
<select onchange="updHidden();">
<option value=1>John Doe</option>
<option value=2>Jane Doe</option>
</select>
<hidden name="TxtLabel" id="txtlabel" value="">

Open in new window

0
 
LVL 21

Expert Comment

by:nizsmo
ID: 20301202
also (not sure if this is what you mean) if you want the hidden value to take after the value selected with the select option box, then something like this will do it.
<script>
function updHidden() {
document.getElementById('txtlabel').value=document.getElementById('select_box').options[document.getElementById('select_box').selectedIndex].value;
}
</script>
<select onchange="updHidden();" id="select_box">
<option value=1>John Doe</option>
<option value=2>Jane Doe</option>
</select>
<hidden name="TxtLabel" id="txtlabel" value="">

Open in new window

0
 
LVL 1

Author Comment

by:Bob-Villa
ID: 20301492
ok, this works but I have a conflict now. I have more than one of these select boxes on a page and after making multiple selects on multiple select boxes only one change is applies. It seems that since the value is "" that the javascript is only applying the last value when I select more than one box. i.e. I have 3 select boxes and 3 hidden inputs. I select all 3 select boxes but upon form submission only the last select box takes the change in value from "" to John Doe. The best way I can see to remedy this is to actually write the value to page somehow?

Is there a way to make this:
<hidden name="TxtLabel" id="txtlabel" value="">
look like this:
<hidden name="TxtLabel" id="txtlabel" value="John Doe">

after the select is changed using a document.write or text replace or innerhtml or something?
0
 
LVL 21

Accepted Solution

by:
nizsmo earned 500 total points
ID: 20301826
Sorry if i misunderstood you but if you are wanting the result like this:
<hidden name="TxtLabel" id="txtlabel" value="John Doe">

can you not just change your selection box to this:
<select onchange="updHidden();" id="select_box">
<option value="John Doe">John Doe</option>
<option value="Jane Doe">Jane Doe</option>
</select>

and everything should work? or are you restricted in some way?
0

Featured Post

[Webinar] How Hackers Steal Your Credentials

Do You Know How Hackers Steal Your Credentials? Join us and Skyport Systems to learn how hackers steal your credentials and why Active Directory must be secure to stop them. Thursday, July 13, 2017 10:00 A.M. PDT

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Preface This is the third article about the EE Collaborative Login Project. A Better Website Login System (http://www.experts-exchange.com/A_2902.html) introduces the Login System and shows how to implement a login page. The EE Collaborative Logi…
This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

635 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question