Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / General / August 2007

Tip: Looking for answers? Try searching our database.

Javascript and DropDownLists question

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
AlBruAn - 01 Aug 2007 18:02 GMT
I have three dropdownlists in an AJAX UpdatePanel and I need to return the
selected index for two of them; the problem is that I'm only able to return
the selected index for the first dropdownlist of the three and it is the one
that I don't need.  The dropdownlists are named, in order, ddlEntityType,
ddlEntityGroups and ddlProcesses.  The Javascript for attempting to read the
selected index is as follows:

   var entityTypeIndex =
document.getElementById('ct100$ContentPlaceHolder1$ddlEntityType').selectedIndex;        // this one works
   var entityGroupIndex =
document.getElementById('ct100$ContentPlaceHolder1$ddlEntityGroups').selectedIndex;     // this doesn't work
   var processesIndex =
document.getElementById('ct100$ContentPlaceHolder1$ddlProcesses').selectedIndex;        // this doesn't work

Trying all three in the Immediate Window, the first one still works; the
message I get back for the other two is:  Object required

Why won't it find the dropdownlists for the two that I need to return the
SelectedIndex from?
Laurent Bugnion, MVP - 01 Aug 2007 18:31 GMT
Hi,

> I have three dropdownlists in an AJAX UpdatePanel and I need to return the
> selected index for two of them; the problem is that I'm only able to return
[quoted text clipped - 15 lines]
> Why won't it find the dropdownlists for the two that I need to return the
> SelectedIndex from?

The unique name for the client, aka ClientId is generated by the server.
You must make sure that 'ct100$ContentPlaceHolder1$ddlEntityGroups' and
the other are really named this way. To make this sure, view the HTML
source on the web client. In your server-side code, use the control's
ClientId to generate the JavaScript code to get it.

HTH,
Laurent
Signature

Laurent Bugnion [MVP ASP.NET]
Software engineering, Blog: http://www.galasoft.ch
PhotoAlbum: http://www.galasoft.ch/pictures
Support children in Calcutta: http://www.calcutta-espoir.ch

Mark Rae [MVP] - 01 Aug 2007 18:43 GMT
>>     var entityTypeIndex =
>> document.getElementById('ct100$ContentPlaceHolder1$ddlEntityType').selectedIndex;
[quoted text clipped - 5 lines]
>> document.getElementById('ct100$ContentPlaceHolder1$ddlProcesses').selectedIndex;
>> // this doesn't work

var entityTypeIndex =
document.getElementById('<%=ddlEntityType.ClientID%>').selectedIndex;
var entityGroupIndex =
document.getElementById('<%=ddlEntityGroups.ClientID%>').selectedIndex;
var processesIndex =
document.getElementById('<%=ddlProcesses.ClientID%>').selectedIndex;

Signature

Mark Rae
ASP.NET MVP
http://www.markrae.net

AlBruAn - 01 Aug 2007 19:18 GMT
Thanks for the tip.  I'd inadvertently typed the number "1" rather than the
letter "l"; I thought I'd copied and pasted it, but apparently not.

> Hi,
>
[quoted text clipped - 26 lines]
> HTH,
> Laurent
Laurent Bugnion, MVP - 01 Aug 2007 23:01 GMT
Hi,

> Thanks for the tip.  I'd inadvertently typed the number "1" rather than the
> letter "l"; I thought I'd copied and pasted it, but apparently not.

That's why you shouldn't. You should use ClientID instead. This way, if
the containing control's name changes, you don't need to change your code.

HTH,
Laurent
Signature

Laurent Bugnion [MVP ASP.NET]
Software engineering, Blog: http://www.galasoft.ch
PhotoAlbum: http://www.galasoft.ch/pictures
Support children in Calcutta: http://www.calcutta-espoir.ch


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.