my character only jump once! i'm using charged jump

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerMovement : MonoBehaviour {

private bool onGround;
private float jumpPressure;
private float minJump;
private float maxJumpPressure;
private Rigidbody2D rbody;

void Start () 
{
    onGround = true;
    jumpPressure = 0f;
    minJump = 2f;
    maxJumpPressure = 10f;
    rbody = GetComponent<Rigidbody2D>();
}

void Update () 
{
    if(onGround)
    {
        //holding jump button
        if(Input.GetButton("Jump"))
        {
            if(jumpPressure < maxJumpPressure)
            {
                jumpPressure += Time.deltaTime*10f;
		    }
            else
            {
                jumpPressure = maxJumpPressure;
		    }            
	    }
        //not holding jump button
        else 
        {
            //jump
            if(jumpPressure > 0f)
            {
                jumpPressure = jumpPressure + minJump;
                rbody.velocity = new Vector3(jumpPressure/10f,jumpPressure,0f);
                jumpPressure = 0f;
                onGround = false;
			}
	    }
    }
}

void OnCollisionEnter2D(Collision2D other)
{
    if(other.gameObject.CompareTag("ground"))
    {
        onGround = false;
	}
}

}

you need to reset onGround to true when you touch the ground.

void OnCollisionEnter2D(Collision2D other)
     {
         if(other.gameObject.CompareTag("ground"))
         {
             onGround = false;
         }
     }
    //should be:
    void OnCollisionEnter2D(Collision2D other)
     {
         if(other.gameObject.CompareTag("ground"))
         {
             onGround = true;
         }
     }

worked after edit to

void OnCollisionEnter2D(Collision2D other)
{
    if (other.gameObject.CompareTag("ground"))
    {
        onGround = true;
    }
}

===
altough i did it before and it didn’t work …
thanks!!