Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[javascript] select all checkbox functie

Annie
5 antwoorden
  • Hallo friends,

    Ik heb een datagrid met checkboxies om deze te deleten. Ik had een functie gejat van internet die alle checkboxen selecteert of deselecteerd. Alleen deze werkt met form, oftwel ALLE checkboxies gaan aan of uit. En ik heb nog andere checkboxen, die dus 'meegaan'. Is het mogelijk om deze te beperken tot de checkboxen in de datagrid? dit is wat ik heb:
    [code:1:1e4784fe39]
    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 ('CheckAll') != -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 ('DeleteThis') != -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
    }
    }
    }
    }
    [/code:1:1e4784fe39]

    /edit trouwens, als het ook met een andere programmeer taal kan, vind ik het ook prima
  • Je kan alle inputs binnen de datagrid opvragen met getElementsByTagName. Als je controleert op het type, dan kan je daar je acties aan verbinden.

    [code:1:902ca01007]
    function doejeding()
    {
    var datagrid = document.getElementById('idvandatagrid');
    var inputs = datagrid.getElementsByTagName('input');
    var i = inputs.length;
    while (i–)
    {
    if (inputs[i].type == 'checkbox')
    {
    // doe je ding
    }
    }
    }
    [/code:1:902ca01007]
    De id van de datagrid kan je in de code-behind opvragen. Als je dat niet lukt dan kan je evt ook nog een container-div om je datagrid zetten met een vast id, en deze id gebruiken in je functie.
  • hmm pff, shit zo kom ik er nog niet eens uit :( Misschien als je heel even tijd hebt, dat je ernaar kan kijken annie, zou geweldig zijn:

    datagrid:
    [code:1:e7b977197f]
    <asp:DataGrid class="txt" id="myDataGrid" runat="server" PagerStyle-HorizontalAlign="Right" PagerStyle-Mode="NumericPages" PageSize="<%# intPageSize %>" OnPageIndexChanged="PageIndexChanged_OnClick" AllowPaging="True" Cellpadding="1" Border="0" AutoGenerateColumns="False" Width="600px" backcolor="#DDE7F2" HeaderStyle-CssClass="pb" DataKeyField="OproepID" CellSpacing="1" BorderColor="White" BorderWidth="1px">
    <HeaderStyle cssclass="pb" backcolor="#AEC8E2"></HeaderStyle>
    <PagerStyle horizontalalign="Right" backcolor="White" mode="NumericPages"></PagerStyle>
    <AlternatingItemStyle backcolor="White"></AlternatingItemStyle>
    <Columns>
    <asp:BoundColumn DataField="OproepID" HeaderText="OproepID"></asp:BoundColumn>
    <asp:BoundColumn DataField="Datum" HeaderText="Datum" DataFormatString="{0:D}"></asp:BoundColumn>
    <asp:BoundColumn DataField="Omschrijving" HeaderText="Omschrijving"></asp:BoundColumn>
    <asp:BoundColumn DataField="Voornaam" HeaderText="Voornaam"></asp:BoundColumn>
    <asp:BoundColumn DataField="Bijzonderheden" HeaderText="Bijzonderheden"></asp:BoundColumn>
    <asp:HyperLinkColumn Text="<img border='0' src='images/edit.gif' alt='edit record'>" DataNavigateUrlField="OproepID" DataNavigateUrlFormatString="OproepEdit.aspx?OproepID={0}" HeaderText="Edit"></asp:HyperLinkColumn>
    <asp:HyperLInkColumn DataTextFormatString="<img src='images/{0}' border='0'/>" DataTextField="SS" DataNavigateUrlField="OproepID" DataNavigateUrlFormatString="OproepSS.aspx?OproepID={0}" HeaderText="SS" target="blank"></asp:HyperLinkColumn>
    <asp:HyperLinkColumn Text="<img border='0' src='images/i.gif' alt='meer info'>" DataNavigateUrlField="OproepID" DataNavigateUrlFormatString="OproepInfo.aspx?OproepID={0}" HeaderText="Info"></asp:HyperLinkColumn>
    <asp:TemplateColumn>
    <HeaderTemplate>
    <asp:CheckBox ID="CheckAll" OnClick="javascript: return doe je ding();" runat="server" />
    <font face="Webdings" color="white" size="3">a</font>
    </HeaderTemplate>
    <ItemTemplate>

    <asp:CheckBox id="cbSelected" runat="server"></asp:CheckBox>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:DataGrid>
    [/code:1:e7b977197f]

    die 'checkAll' is dus de checkbox om alle checkboxen te selecteren in de grid, deze staat in de header. 'cbSelected' zijn de checkboxen in de grid
  • En wat werkt er niet? Of waar loop je op vast?
    Beetje lastig gokken.
  • [quote:e977b49510="Annie"]En wat werkt er niet? Of waar loop je op vast?
    Beetje lastig gokken.[/quote:e977b49510]

    helemaal niks werkt, dat is het probleem… een ander probleem is dat ik totaal niks van javascript snap :)

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.