+ Start a Discussion
BubuBubu 

Action support is not working for select all button--

Hi Friends,

           I have a requirement When I m selecting a single checkbox I m able to call a method in controller through actionSupport.
           when I am selecting a selectAll checkbox all checkboxes are selecting,
           but the actionsupport inside the checkbox is not calling the method,selctall functionality which I m aciving by javascript.


Any help would be greatly appreciated!!

Navatar_DbSupNavatar_DbSup

Hi,

Try the below code snippet as reference:

 

..............

Page

.............

<apex:page controller="Checkbox_Class" Tabstyle="Account">

 

<apex:form >

 

<apex:pageBlock Title="Accounts with CheckBoxes">

 

<apex:pageBlockSection Title="List of Available Accounts">

 

<apex:dataTable value="{!accounts}" var="a" columnswidth="50px,50px" cellpadding="4" border="1">

 

<apex:column >

 

<apex:facet name="header"> <apex:inputCheckbox >

 

<apex:actionSupport event="onclick" action="{!GetSelected}" onsubmit="checkAll(this)" rerender="Selected_PBS"/>

 

</apex:inputCheckbox></apex:facet>

 

<apex:inputCheckbox value="{!a.selected}" id="checkedone">

 

<apex:actionSupport event="onclick" action="{!GetSelected}" rerender="Selected_PBS"/>

 

</apex:inputCheckbox></apex:column>

 

<apex:column headervalue="Account Name" value="{!a.acc.Name}" />

 

<apex:column headervalue="Account Number" value="{!a.acc.AccountNumber}" />

 

<apex:column headervalue="Phone" value="{!a.acc.Phone}" />

 

</apex:dataTable>

 

</apex:pageBlockSection>

 

<apex:pageBlockSection Title="Selected Accounts" id="Selected_PBS">

 

<apex:dataTable value="{!SelectedAccounts}" var="s" columnswidth="50px,50px" cellpadding="4" border="1">

 

<apex:column headervalue="Account Name" value="{!s.Name}" />

 

<apex:column headervalue="Account Number" value="{!s.AccountNumber}" />

 

<apex:column headervalue="Phone" value="{!s.Phone}" />

 

</apex:dataTable>

 

</apex:pageBlockSection>

 

</apex:pageBlock>

 

</apex:form>

 

<script>

 

function checkAll(cb)

 

{

 

var inputElem = document.getElementsByTagName("input");

 

for(var i=0; i<inputElem.length; i++)

 

{

 

if(inputElem[i].id.indexOf("checkedone")!=-1)

 

inputElem[i].checked = cb.checked;

 

}

 

}  

 

</script>

 

</apex:page>

 

................

Controller

................

 

public class Checkbox_Class

{

 

    List<accountwrapper> accountList = new List<accountwrapper>();

 

    List<Account> selectedAccounts = new List<Account>();

 

        

    public List<accountwrapper> getAccounts()

 

    {

 

        for(Account a : [select Id, Name, AccountNumber, Phone from Account limit 5])

 

        accountList.add(new accountwrapper(a));

 

        return accountList;

 

    }

 

    

    public PageReference getSelected()

 

    {

 

        selectedAccounts.clear();

 

        for(accountwrapper accwrapper : accountList)

 

        if(accwrapper.selected == true)

 

        selectedAccounts.add(accwrapper.acc);

 

        return null;

 

    }

 

    

    public List<Account> GetSelectedAccounts()

 

    {

 

        if(selectedAccounts.size()>0)

 

        return selectedAccounts;

 

        else

 

        return null;

 

    }  

 

    

    public class accountwrapper

 

    {

 

        public Account acc{get; set;}

 

        public Boolean selected {get; set;}

 

        public accountwrapper(Account a)

 

        {

 

            acc = a;

 

            selected = false;

 

        }

 

    }

}

 

Did this answer your question? If not, let me know what didn't work, or if so, please mark it solved.