Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Hotmail Style - "Select All" checkbox on a asp:checkbox - need little help

Posted on 2004-10-11
5
Medium Priority
?
356 Views
Last Modified: 2008-02-26
Hi,

I have OnClick script running off my asp:checkbox "Select All" that call a javascript function in order to check and uncheck all checkboxes... I got that part working fine,
Now, once I have selected all checkboxes and then uncheck one checkbox further down I want my "Select All" checkbox at the top to be unchecked...  That's part I cant seem to get working.

Here's my javascript so far and also my OnClick event from my asp:checkbox.  Hope to hear from you guys soon, thanks




function select_deselectAll (chkVal, idVal) {
                              var frm = document.forms[0];

                              // Loop through all elements
                              for (i=0; i<frm.length; i++) {

                                    // Look for our Header Template's Checkbox
                                    if (idVal.indexOf ('chxSelectAll') != -1) {

                                          // Check if main checkbox is checked, then select or deselect datagrid checkboxes
                                          if(chkVal == true) {
                                                frm.elements[i].checked = true;
                                          }
                                          else {
                                                frm.elements[i].checked = false;
                                          }
                                    }
                                    
                                    // Work here with the Item Template's multiple checkboxes
                                     else if (idVal.indexOf ('chxSelect') != -1) {
                                          // Check if any of the checkboxes are not checked, and then uncheck top select all checkbox
                                          if(frm.elements[i].checked == false) {
                                                //frm.elements[1].checked = false; //Uncheck main select all checkbox
                                                //frm.getElementById('chxSelectAll').checked = false;
                                                alert("uncheck master box");
                                                var myId = document.getElementById("chxSelectAll");
                                                alert(myId);
                                                //myId.checked = false;
                                          }
                                    }
                              }

                        }







<asp:TemplateColumn HeaderText="Workflow">
      <HeaderTemplate>
            <asp:CheckBox id="chxSelectAll" OnClick="javascript: return select_deselectAll(this.checked, this.id);" Text="All" Runat="server" Width="50px"></asp:CheckBox>
      </HeaderTemplate>
      <ItemTemplate>
            <asp:checkbox id="chxSelect" OnClick="javascript: return select_deselectAll(this.checked, this.id);" Runat="server" Width="50px" Visible=False></asp:checkbox>
      </ItemTemplate>
</asp:TemplateColumn>



The bug lies within the last part of my javascript function.

      
0
Comment
Question by:newbreedcc
[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
5 Comments
 
LVL 28

Expert Comment

by:mmarinov
ID: 12276598
Hi newbreedcc,

look here : http://forums.devshed.com/archive/t-11535

Regards!
B..M
0
 
LVL 8

Expert Comment

by:tomvergote
ID: 12278303
>  var myId = document.getElementById("chxSelectAll");

if you view source, does it actually get that id?
using controls in web forms might mess up your naming.

you should look into control.clientid.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemWebUIControlClassClientIDTopic.asp

"ASP.NET automatically generates a ClientID for a server control regardless of whether you have specified an ID property for it or not. This property is used to identify a control for client-side operations, such as ECMAScript functions."
0
 
LVL 8

Accepted Solution

by:
tomvergote earned 375 total points
ID: 12278330
maybe i should elaborate.

you should add the script in the onload (or other) function by using the RegisterClientScriptBlock method.
The code for the script should be partially dynamically generated (ie the control names should be done as mentioned above).

your code should look like (pseudo code whipped up quickly before dinner)
page. RegisterClientScriptBlock( ....."else if (idVal.indexOf ('chxSelect') != -1) {
                                   // Check if any of the checkboxes are not checked, and then uncheck top select all checkbox
                                   if(frm.elements[i].checked == false) {
                                        //frm.elements[1].checked = false; //Uncheck main select all checkbox
                                        //frm.getElementById('chxSelectAll').checked = false;
                                        alert("uncheck master box");
                                        var myId = document.getElementById(\"" + MyCheckBox.ClientID + "\");
                                        alert(myId);
                                        //myId.checked = false;
                                   }");
0
 
LVL 8

Expert Comment

by:tomvergote
ID: 12278342
0
 
LVL 1

Author Comment

by:newbreedcc
ID: 12286717
Hi,

Thank you for the aricle, helped alot.
0

Featured Post

Learn Veeam advantages over legacy backup

Every day, more and more legacy backup customers switch to Veeam. Technologies designed for the client-server era cannot restore any IT service running in the hybrid cloud within seconds. Learn top Veeam advantages over legacy backup and get Veeam for the price of your renewal

Question has a verified solution.

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

Flash (http://en.wikipedia.org/wiki/Adobe_Flash) has evolved over the years to where it has become a masterful tool for displaying content screen.  It has excellent layout placement, UI precision as well as rendering capabilities. This, along with t…
Summary Displaying images in RichTextBox is a common requirement with limited solutions available. Pasting through clipboard or embedding into RTF content only support static images.  This article describes how to insert Windows control objects int…
In this video, Percona Director of Solution Engineering Jon Tobin discusses the function and features of Percona Server for MongoDB. How Percona can help Percona can help you determine if Percona Server for MongoDB is the right solution for …
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…

610 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