473,756 Members | 2,900 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Auto populate the Dropdown List

Hi All,

I'm training in Servlets, JSP and JavaScript,

I have a web page in which there's a "StudentNam e" 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,

Jan 11 '07
11 7396
Randy Webb wrote:
eureka said the following on 1/11/2007 12:13 PM:
Curtis.Dani...@ gmail.com 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..beside s 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.javas cript FAQ - http://jibbering.com/faq/index.html
Javascript Best Practices - http://www.JavascriptToolbox.com/bestpractices/

Helo Mr.Webb
Thanks a lot for your indepth reply,

Regarding calling the JS function which does the pattern matching -
what I have done is I've already retrieved all the "Student" records in
a hidden field on page load itself and this function simply gets called
on every onFocus() event of the textbox and the value keyed by the user
in the textbox is compared to the names present in the hidden field
itself...no records are retrieved from the database again..atleast not
until the next page request or refresh!

But the drawback is if any addition/deletion/updation is done in the
backend at server side simultaneously then that isnt reflected until we
refresh the page and the hidden field is re-populated and the matching
is carried out again..hence I need a way that on the onFocus() event
itself the request directly be made to the database to get a fresh list
of names depending on the typed text, i.e, maybe a query or a function
be triggered/invoked automatically which gets the list for us, but
being a novice I'm not really sure if this is even remotely possible .

"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."

Can you please guide me as to how I can actually make my JS pass on a
request to my JSP as soon as some event occurs ; is there a way of
addressing JSP code from within JS or is it possible to actually send a
value obtained in the JS code to my JSP scriptlet?

In that case I could just retrieve the value keyed into the textbox in
a variable and pass it on to my scriptlet which in turn would fire a
'select-where' query to get the matching records directly from the
table..I tried this but the JSP code does not recognize the JS
variable, is there possibly a way of achieving this or do I need a
different approach..

Once again, thanx a lot for your help!

Jan 11 '07 #11

Bart Van der Donck wrote:
eureka wrote:
I have a web page in which there's a "StudentNam e" 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="StudentNa me"
style="text-transform:upper case" onKeyUp="
while (s.options.leng th) s.options[0] = null
for (i=0; i<v.length; ++i)
if (new RegExp('^'+(thi s.value).toUppe rCase()).exec(v[i]))
s.options[s.length] = new Option(v[i],v[i])">
<select size="1" name="Names" style="width:25 0px"></select>
</form>
<script type="text/javascript">
v = new Array('J\'K','J A','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
Yeah thanks,
but the filtering/validation etc has already been taken care of through
JS. The only main thing thats remaining is retrieving the actual
records at runtime on the onFocus() event of the textbox depending on
whatever the user types..

Well its a names-textbox so if the user does type in some number or any
special character then immediately he gets an 'invalid name' msg .

Jan 11 '07 #12

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

Similar topics

1
3610
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 populated in same JSP page. I have a java bean called officeBean that contains all the office information.
0
1753
by: george d lake | last post by:
Hi, Is there a way to have a "Auto Complete" textbox or a "editable" dropdown? Here is my problem. I have a screen that need to have a list of 800+ employees. To be a dropdown, that could be a lot of scrolling. and to enter the name in a textbox leaves too many possible typos. So, is there a control that will do a auto complete in the textbox as I type the name or have a combo box that I could type and auto complete like in VB?
6
2354
by: Smithers | last post by:
I am looking to implement a search feature into a Windows Forms MDI application. Specifically I plan to embed 3 textboxes into a toolbar; one for LastName, another for FirstName, and one for CustomerID. When the user starts typing into any of these textboxes I would like to pop up another form that shows the user a dynamic list of the closest matches. The user can then use the up- and down-arrow keys to select a customer from that pop up...
0
1613
by: Kay O'Keeffe | last post by:
Hello, I have written my own custom control and I want one of its properties to display as a dropdown list when clicked, so the user can select from the list, it would be similar to the asp textbox control which has a 'TextMode' property and when clicked on, displays as a dropdown list with 3 values, I want to have a similar type property with a dropdown style.
2
6066
by: Abdhul Saleem | last post by:
Hi, Any code snippet or help link available on how to auto resize the dropdown list part of the combo(<select>) ? Or, is there any alternative techniques for displaying the full lenth text when dropdown the combo? Regards, M. Abdhul Saleem.
5
17683
by: joshua.nicholes | last post by:
I have an access database that consists of two tables.A data collection table and a species list table. The data collection table has about 1500 records in it and the species list has about 600. The species list has 7 fields the first is a four digit unique identifier (species) it is set as the primary key. I have created a relationship to the data collection table which also has a species field (4 digit id). In my form I have the species...
1
1872
by: fran7 | last post by:
Hi, Anyone know how to populate a dropdown list with data from database. I have an interface that generates the following code for names in my database. ..asp <%If Trim(rsCard("Author"))<>"" Then%> <%=rsCard("Author")%><%End If%> .. How does one populate a dropdown list??
4
4845
by: olidenia | last post by:
I need some help or tips on the following. I have a .sql database file with the folowing structure: DROP TABLE IF EXISTS `car`; CREATE TABLE IF NOT EXISTS `car` ( `id` int(10) default NULL, `Make` text, `Model` text,
0
9275
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9872
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 tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
9713
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
6534
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5142
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5304
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3805
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3358
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2666
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.