Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Javascript > Auto populate the Dropdown List

Reply
Thread Tools

Auto populate the Dropdown List

 
 
eureka
Guest
Posts: n/a
 
      01-11-2007
Hi All,

I'm training in Servlets, JSP and JavaScript,

I have a web page in which there's a "StudentName" textbox and
below it is a "Names" Dropdown list. Initially the Textbox is empty
and the Dropdown doesnt have any items..

The requirement is that as soon as one goes on typing the letters in
the StudentName-textbox the corresponding matching names have to appear
in the DD located below.
Like say if I just key in 'J' then all the student-names from the
"Names - table(backend-MySql)" starting with 'J' have to appear
in the DD, say if I'm typing in "Jo" then just names such as
"John"," Joanna" etc need appear ..this is much like when we
send emails ...wherein automatically the matching entries for the
typed-in address show up from our address book in a dropdown list below
the "To" textbox..

Can anyone help me with suggestions regarding this...

P.S:- Is it also possible through Java/JavaScript to link a particular
control directly to some database table?
For e.g. can I directly link a DD to the backend-table and have just
the dropdown refreshed every time there was an addition/deletion to the
table and not the whole page..

Thanks,

 
Reply With Quote
 
 
 
 
Curtis.DanielN@gmail.com
Guest
Posts: n/a
 
      01-11-2007
Google "javascript + live search". Pretty much what you'll be doing
is: as they type you will be making a request to a server for all
entries in a database, flat file... that are similar to what is in your
text area. You then want to empty and recreate the options in your
dropdown list. You can probably find code samples that use JSP and
JavaScript to do it.
eureka wrote:
> Hi All,
>
> I'm training in Servlets, JSP and JavaScript,
>
> I have a web page in which there's a "StudentName" textbox and
> below it is a "Names" Dropdown list. Initially the Textbox is empty
> and the Dropdown doesnt have any items..
>
> The requirement is that as soon as one goes on typing the letters in
> the StudentName-textbox the corresponding matching names have to appear
> in the DD located below.
> Like say if I just key in 'J' then all the student-names from the
> "Names - table(backend-MySql)" starting with 'J' have to appear
> in the DD, say if I'm typing in "Jo" then just names such as
> "John"," Joanna" etc need appear ..this is much like when we
> send emails ...wherein automatically the matching entries for the
> typed-in address show up from our address book in a dropdown list below
> the "To" textbox..
>
> Can anyone help me with suggestions regarding this...
>
> P.S:- Is it also possible through Java/JavaScript to link a particular
> control directly to some database table?
> For e.g. can I directly link a DD to the backend-table and have just
> the dropdown refreshed every time there was an addition/deletion to the
> table and not the whole page..
>
> Thanks,


 
Reply With Quote
 
 
 
 
Evertjan.
Guest
Posts: n/a
 
      01-11-2007
eureka wrote on 11 jan 2007 in comp.lang.javascript:

> Is it also possible through Java/JavaScript to link a particular
> control directly to some database table?
>


Javascript has nothing to do with Java but the name.

What is a "control"?
What would be the use linking such thing to a database table?

Clientside javascript usually cannot reach a [serverside] database,
if we are talking web pages [do you?]

This NG is for Javascript, and if not specifically stated otherwise,
clientside javascript on/in an internet web page is ment.

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
 
Reply With Quote
 
eureka
Guest
Posts: n/a
 
      01-11-2007
(E-Mail Removed) wrote:
> Google "javascript + live search". Pretty much what you'll be doing
> is: as they type you will be making a request to a server for all
> entries in a database, flat file... that are similar to what is in your
> text area. You then want to empty and recreate the options in your
> dropdown list. You can probably find code samples that use JSP and
> JavaScript to do it.


Hi
Thanks for your reply..

You've suggested that as the user types in some letters in the textbox
request be made to the server for the matching database entries, well I
am not sure if this can be acheived through Client Side
JavaScript(CSJS) or with JSP either coz if I' m not wrong the JSP file
that you run from the browser is converted into a java servlet, then
the servlet is compiled to a .class file and then its run, but unlike
Javascript the code in Jsp in not executed everytime an event occurs on
the Html page, it'l only be executed first on the page-request and then
again on every refresh for that page.
What I mean is every time the user types in something or the other in
the textbox I think atleast the Jsp/CSJS code wont be able to make a
request to the server for the records..well I'm not very sure about
this since I'm still learning ...if anyone has a further idea as to how
this can be achieved please suggest,

What I had in mind was that maybe through JSP I could on page request
itself get a connection to the database and collect all the Names from
the Names-table and maybe store them in a hidden field on my page and
then on every onFocus() event of the textbox I could retrieve the text
keyed in the textbox into some variable and compare the first letter
of that text with the first letter of all the names present in my
hidden field one by one and then whatever names match I just populate
them into the DD ..but this achieves only half the purpose..besides on
every onFocus() event the JavaScript function will be called which will
do the matching, I think that'l probably cause overhead !

I've also been suggested AJAX, but never worked with it before so I'd
be grateful if any1 provides any suggestions regarding the same.

 
Reply With Quote
 
eureka
Guest
Posts: n/a
 
      01-11-2007
(E-Mail Removed) wrote:
> Google "javascript + live search". Pretty much what you'll be doing
> is: as they type you will be making a request to a server for all
> entries in a database, flat file... that are similar to what is in your
> text area. You then want to empty and recreate the options in your
> dropdown list. You can probably find code samples that use JSP and
> JavaScript to do it.


Hi
Thanks for your reply..

You've suggested that as the user types in some letters in the textbox
request be made to the server for the matching database entries, well I
am not sure if this can be acheived through Client Side
JavaScript(CSJS) or with JSP either coz if I' m not wrong the JSP file
that you run from the browser is converted into a java servlet, then
the servlet is compiled to a .class file and then its run, but unlike
Javascript the code in Jsp in not executed everytime an event occurs on
the Html page, it'l only be executed first on the page-request and then
again on every refresh for that page.
What I mean is every time the user types in something or the other in
the textbox I think atleast the Jsp/CSJS code wont be able to make a
request to the server for the records..well I'm not very sure about
this since I'm still learning ...if anyone has a further idea as to how
this can be achieved please suggest,

What I had in mind was that maybe through JSP I could on page request
itself get a connection to the database and collect all the Names from
the Names-table and maybe store them in a hidden field on my page and
then on every onFocus() event of the textbox I could retrieve the text
keyed in the textbox into some variable and compare the first letter
of that text with the first letter of all the names present in my
hidden field one by one and then whatever names match I just populate
them into the DD ..but this achieves only half the purpose..besides on
every onFocus() event the JavaScript function will be called which will
do the matching, I think that'l probably cause overhead !

I've also been suggested AJAX, but never worked with it before so I'd
be grateful if anyone provides any suggestions regarding the same.

 
Reply With Quote
 
eureka
Guest
Posts: n/a
 
      01-11-2007
Evertjan. wrote:

> Javascript has nothing to do with Java but the name.
>
> What is a "control"?
> What would be the use linking such thing to a database table?
>
> Clientside javascript usually cannot reach a [serverside] database,
> if we are talking web pages [do you?]
>
> This NG is for Javascript, and if not specifically stated otherwise,
> clientside javascript on/in an internet web page is ment.
>
> --
> Evertjan.
> The Netherlands.
> (Please change the x'es to dots in my emailaddress)


Hi there,
Thanks for your reply.

By control I actually meant some Html form component..like a DropDown
List ..

I have on my web page a DD displaying the names of all the students
studying in an institute, but I need that at runtime say if any of
these students were to be deleted or new ones added (in the backend)
then without refreshing the entire page the changes be reflected in the
corresponding DD..

I am aware that this cant exactly be achieved through CSJS..but I'm
still learning so just wanted to check if there was any alternative at
all.

 
Reply With Quote
 
eureka
Guest
Posts: n/a
 
      01-11-2007

Evertjan. wrote:
JavaSript has nothing to do with Java but the name.
>
> What is a "control"?
> What would be the use linking such thing to a database table?
>
> Clientside javascript usually cannot reach a [serverside] database,
> if we are talking web pages [do you?]
>
> This NG is for Javascript, and if not specifically stated otherwise,
> clientside javascript on/in an internet web page is ment.
>
> --
> Evertjan.
> The Netherlands.
> (Please change the x'es to dots in my emailaddress)




Hi there,
Thanks for your reply.

By control I actually meant some Html form component..like a DropDown
List ..


I have on my web page a DD displaying the names of all the students
studying in an institute, but I need that at runtime say if any of
these students were to be deleted or new ones added (in the backend)
then without refreshing the entire page the changes be reflected in the

corresponding DD..


I am aware that this cant exactly be achieved through CSJS..but I'm
still learning so just wanted to check if there was any alternative at
all.

 
Reply With Quote
 
Randy Webb
Guest
Posts: n/a
 
      01-11-2007
eureka said the following on 1/11/2007 12:13 PM:
> (E-Mail Removed) wrote:
>> Google "javascript + live search". Pretty much what you'll be doing
>> is: as they type you will be making a request to a server for all
>> entries in a database, flat file... that are similar to what is in your
>> text area. You then want to empty and recreate the options in your
>> dropdown list. You can probably find code samples that use JSP and
>> JavaScript to do it.

>
> Hi
> Thanks for your reply..
>
> You've suggested that as the user types in some letters in the textbox
> request be made to the server for the matching database entries, well I
> am not sure if this can be acheived through Client Side
> JavaScript(CSJS)


Yes it can.

> or with JSP either coz if I' m not wrong the JSP file
> that you run from the browser is converted into a java servlet, then
> the servlet is compiled to a .class file and then its run, but unlike
> Javascript the code in Jsp in not executed everytime an event occurs on
> the Html page, it'l only be executed first on the page-request and then
> again on every refresh for that page.


Page makes a silent request to the .jsp file, the .jsp file executes on
the server and returns the new list to the browser. The browser then
updates the dropdown. Google uses it.

> What I mean is every time the user types in something or the other in
> the textbox I think atleast the Jsp/CSJS code wont be able to make a
> request to the server for the records..well I'm not very sure about
> this since I'm still learning ...if anyone has a further idea as to how
> this can be achieved please suggest,


There are several ways, all of which involve requesting a new list from
the server. The difference in the approach would be how you wanted to
transmit that data and how you would handle it on the client.

> What I had in mind was that maybe through JSP I could on page request
> itself get a connection to the database and collect all the Names from
> the Names-table and maybe store them in a hidden field on my page and
> then on every onFocus() event of the textbox I could retrieve the text
> keyed in the textbox into some variable and compare the first letter
> of that text with the first letter of all the names present in my
> hidden field one by one and then whatever names match I just populate
> them into the DD ..but this achieves only half the purpose..besides on
> every onFocus() event the JavaScript function will be called which will
> do the matching, I think that'l probably cause overhead !


Calling the onfocus event won't be the overhead. Trying to retrieve
every word in the database that starts with a letter or two letter
combination would be the overhead. User types the letter A and you
retrieve every word starting with A, and so on.

> I've also been suggested AJAX, but never worked with it before so I'd
> be grateful if anyone provides any suggestions regarding the same.


AJAX is a buzz word that nearly encompasses any act of getting data from
the server without refreshing the page. That's all. The XMLHttpRequest
object (that AJAX was originally based on) is but one method of getting
data from the server.

--
Randy
Chance Favors The Prepared Mind
comp.lang.javascript FAQ - http://jibbering.com/faq/index.html
Javascript Best Practices - http://www.JavascriptToolbox.com/bestpractices/
 
Reply With Quote
 
Evertjan.
Guest
Posts: n/a
 
      01-11-2007
eureka wrote on 11 jan 2007 in comp.lang.javascript:
> Evertjan. wrote:
>> Javascript has nothing to do with Java but the name.
>>
>> What is a "control"?
>> What would be the use linking such thing to a database table?
>>
>> Clientside javascript usually cannot reach a [serverside] database,
>> if we are talking web pages [do you?]
>>
>> This NG is for Javascript, and if not specifically stated otherwise,
>> clientside javascript on/in an internet web page is ment.
>>

> By control I actually meant some Html form component..like a DropDown
> List ..
>
> I have on my web page a DD displaying the names of all the students
> studying in an institute, but I need that at runtime say if any of
> these students were to be deleted or new ones added (in the backend)
> then without refreshing the entire page the changes be reflected in the
> corresponding DD..
>
> I am aware that this cant exactly be achieved through CSJS..but I'm
> still learning so just wanted to check if there was any alternative at
> all.


Anything like that can be done with clientside javascript, when the
corresponding serverside will deliver the neccessary data.

See Randy's answer elsewhere.

However, you should concider if the gain of using an AJAX/xmlhttp like
construction is worth it against rerequesting a page,
If you download aal the students data anyway.

More interesting would be, if you could request via Ajax just the few
students that should be left out of the primary list.

Then a DOM guided search and delete of some drop down list <option>s
could be a quicky, and could even be done with some display of clientside
firework.

Using AJAX/xmlhttp tricks seems only wothwhile if the amount of data
requested is very small in comparison to the page download size,
and/or the dynamicity required is high. Or if the page has inmages that
you do not want to blink. [Other options, anyone?]

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
 
Reply With Quote
 
Bart Van der Donck
Guest
Posts: n/a
 
      01-11-2007
eureka wrote:

> I have a web page in which there's a "StudentName" textbox and
> below it is a "Names" Dropdown list. Initially the Textbox is empty
> and the Dropdown doesnt have any items..
>
> The requirement is that as soon as one goes on typing the letters in
> the StudentName-textbox the corresponding matching names have to appear
> in the DD located below.
> Like say if I just key in 'J' then all the student-names from the
> "Names - table(backend-MySql)" starting with 'J' have to appear
> in the DD, say if I'm typing in "Jo" then just names such as
> "John"," Joanna" etc need appear ..this is much like when we
> send emails ...wherein automatically the matching entries for the
> typed-in address show up from our address book in a dropdown list below
> the "To" textbox..


<form>
<input type="text" name="StudentName"
style="text-transform:uppercase" onKeyUp="
while (s.options.length) s.options[0] = null
for (i=0; i<v.length; ++i)
if (new RegExp('^'+(this.value).toUpperCase()).exec(v[i]))
s.options[s.length] = new Option(v[i],v[i])">
<select size="1" name="Names" style="width:250px"></select>
</form>
<script type="text/javascript">
v = new Array('J\'K','JA','JA F','JAN','JAP','JAPI/','JO','JOS')
s = document.forms[0].Names
</script>

Entries may not contain ()\|^$?.{}!+* - it should be pretty easy to
filter them out.

Hope this helps,

--
Bart

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Populate 2nd dropdown list based on selecteditem in first with out postback? Vinay ASP .Net 2 08-18-2005 06:15 PM
Populate a dropdown list with a variable from a Querystring Jim via DotNetMonster.com ASP .Net 2 02-24-2005 06:25 AM
How to populate dropdown list from database? =?Utf-8?B?TWVyZGFhZA==?= ASP .Net 3 10-20-2004 06:15 PM
Populate dropdown list Mark Goldin ASP .Net 1 07-26-2004 02:31 AM
Edit Mode - How do I populate dropdown in edittemplate from dropdown in another column? Steve Myers ASP .Net Datagrid Control 2 11-20-2003 01:09 PM



Advertisments