I have checkboxes on my vf page

<apex:inputCheckbox id="checkboxShowP" value="{!P}" onchange="show(this);"/>

In the controller class

public boolean P{get;set;}

I want to bind this checkbox value to a boolean variable. But when I display the P value of apex class it is showing up as null. Is it possible to bind variable values in this way?

  • Can you add your relevant VF code here?
    – Sumuga
    Dec 29, 2017 at 13:31
  • i added the code. The tags are not being displayed for some reason
    – Rimii
    Dec 29, 2017 at 13:32
  • wrap the markup inside a "pre" tag. like <pre> YOUR HTML CODE </pre>
    – Sumuga
    Dec 29, 2017 at 13:32
  • I removed the tag brackets from my code
    – Rimii
    Dec 29, 2017 at 13:35

1 Answer 1


Looks like you have not initialised the value for "P". Initialise the value in the constructor.

VF Page:

<apex:page controller="CheckboxController">
    <apex:form >
        <apex:inputCheckbox id="checkboxShowP" value="{!P}" onchange="show(this);"/>

Apex Class:

public with sharing class CheckboxController {

    public Boolean P{ get; set; }

    public CheckboxController(){
        this.P = true;


Do check the Apex and VF trailhead for an understanding of dynamic bindings.

Custom Controllers : https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_controller_custom.htm

  • I already tried this. However, the value of the boolean remains as what was initialized in the Constructor. It does not change according to the check/uncheck in VF page @Sumuga
    – Rimii
    Jan 2, 2018 at 8:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.