473,386 Members | 1,679 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

selecting an option from a select

Hi!

Since the first questions I asked here, I continue to drop by and read
some topics here and there, I like the replies very much.

I have today another question, I don't seem to find it on the FAQ
(please point me if its there):

I have two selects, one written 'directly on the page' and a second
written dinamically by JavaScript. (Actually, both are written by php
using data from a DB).

One is dependable of the other, and I am using the code of DevArticles
to make them depend:
http://tinyurl.com/df6vf

The Question: Now, I want to select the selected option of both inputs,
after the page is loaded.
How can I make the right option selected, based on the value of it?

I know the id and the value of each <OPTION>, but I do not know the
position of the <OPTION> inside the <SELECT>. So I guess I can not use
something like document.form.selectinput.options[1].selected, unless I
iterate through all the options. If this is the way to do it, how is
the iteration to be done?

I hope you can help me on this, and thank you for all the times you
helped me on the past!

SGershon

Jul 23 '05 #1
5 10246
Hi again!
Maybe someone can point me why this wont work to solve the above
problem/question?

function setDefault()
{
for (var i=0 ; i<document.theForm.theSelect.length ; i++)
{
if (document.theForm.theSelect.options[i].value == optVal)
{
document.theForm.theSelect.options[i].selected=true
}
}
}

Thanks!
SGershon

Jul 23 '05 #2
SGershon wrote:
Hi again!
Maybe someone can point me why this wont work to solve the above
problem/question?

function setDefault()
{
for (var i=0 ; i<document.theForm.theSelect.length ; i++)
{
if (document.theForm.theSelect.options[i].value == optVal)
{
document.theForm.theSelect.options[i].selected=true
}
}
}

Thanks!
SGershon


Probably because: you're not calling it onload.

function setDefault(val)
{
var f, s, i = 0;
if ((f = document.theForm)
&& (s = f.elements.theSelect))
{
for (var l = s.options.length; i < l; i++)
{
if (s.options[i].value == val)
{
s.options[i].selected = true;
return;
}
}
}
}

window.onload = function()
{
setDefault('foo');
}

Jul 23 '05 #3
No, it was some stupid typo on the code on the page.

Thanks for the hint, RobB... I am calling it on the end of the page,
inside a <script></script> tag... I guess is more clean/elegant to use
the onLoad event. What are the practical differences?

Jul 23 '05 #4
SGershon wrote:
No, it was some stupid typo on the code on the page.

Thanks for the hint, RobB... I am calling it on the end of the page,
inside a <script></script> tag... I guess is more clean/elegant to use the onLoad event. What are the practical differences?


Helps you keep your 'behavioral layer' separate from that other
rubbish:

http://www.alistapart.com/articles/scripttriggers/

Also, manipulating elements onload gives them an extra bit of time to
'set up', the absence of which is sometimes a source of some
verdrießlichkeit, if you know what I mean. Just remember,
window.onload is an object property & will be over-written if you
assign to it more than once...unless, of course, you use W3C DOM
addEventListener() or MSIE attachEvent(), or 'bundle' multiple handlers
in a wrapper function.

Jul 23 '05 #5
SGershon wrote:
No, it was some stupid typo on the code on the page.

Thanks for the hint, RobB... I am calling it on the end of the page,
inside a <script></script> tag... I guess is more clean/elegant to use
the onLoad event. What are the practical differences?


The other side of the coin is that using onload with a heavy page can
cause an unacceptable lag in a script executing where visible page
elements are being modified.

Say you have something small to do a the top of the page that you'd
prefer happened without being noticed. Inserting a function just
after the element concerned can allow it to happen much sooner (and
less perceptibly) than if the browser waits for onload.

But that would be the exception rather than the rule.

--
Rob
Jul 23 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
by: Lukelrc | last post by:
Hi, I have a dynamically created listbox. I'm trying to get one of the options selected according to a passed value. This is what i have: <select name="txtTheme" id="txtTheme"> ...
2
by: mike | last post by:
I need to be able to select a specific option in a select list. This is what I have: <select name="mysel"> <option value=""></option> <option value="1">First</option> <option value="2"...
1
by: jzhang29 | last post by:
I have a JSP page and it contains a dropdown list called Office. What I try to do is: When I select different office from this list, the information of office (address, phone,etc) will be...
2
by: areef.islam | last post by:
Hi, I am kinda new to javascript and I am having this problem with selecting multiple options from a select tag. Hope someone can help me out here. here is my code...
16
by: @sh | last post by:
Probably very simple, but I have a SELECT box The value of each option in the Select box will be a number, for instance... <option value="5">A test entry</option> Therefore, how do I, via an...
1
by: zorro | last post by:
and does testing merely mean running it 100 000 times and clocking it? // using preg_replace : $s = ' <select name="color"> <option value="">choose <option value="red">red <option...
1
by: =?ISO-8859-1?Q?Une_B=E9vue?= | last post by:
my xml fragment : <select id='aId'> <option>option 1</option> <option>option 2</option> <option>---?---</option> <option>option n + 1</option> <option>option n + 2</option>
3
by: vimal | last post by:
hi all, i am still a learner in javascript i have a select tag with options as follows: <select> <option py:for="mb in range(32,100)">${mb}</option> </select>
7
vikas251074
by: vikas251074 | last post by:
Can I assign value to cookies immediately after selecting a value from list? <select name="vlan_name" style="width:150px "> <%set rs = conn.execute("select vlan_name from vlan_master order by...
2
by: .nLL | last post by:
got below script, works fine with IE but fails on opera. my js knowledge is very limited and can't find whats wrong with it. ---------------------------------------------- function...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.