How to make a delay between each jump?

So, i want to make a slight delay between each jump for spam block and animation porpuses and i thought this would work but it doesn’t, i mean there’s no error but i can only jump one time, then it freezes on jumped = true.

using UnityEngine;
using System.Collections;

public class TestError : MonoBehaviour {

    public float moveSpeed;
    public float jumpHeight;

    public bool jumped;
    public float jumpdelay;

    private bool grounded;


    public void spamBlock()
    {
        StartCoroutine("SpamBlockco");
    }


    public IEnumerator SpamBlockco()
    {
        if (jumped == true)
        {
            yield return new WaitForSeconds(jumpdelay);
            jumped = false;
        }
    }


    // Use this for initialization
    void Start ()
    {
        jumped = false;
    }
	
	// Update is called once per frame
	void Update ()
    {
        if (Input.GetKeyDown(KeyCode.Space) && grounded && !jumped)
        {
            GetComponent<Rigidbody2D>().velocity = new Vector2(GetComponent<Rigidbody2D>().velocity.x, jumpHeight);
            jumped = true;
        }
    }
}

private float nextPress = 0f;
private float delay = 5f;

public void Update()
{
    if (Time.time > nextPress)
    {
        nextPress = Time.time + delay;
    }
}

This will make sure there is a delay before another jump can occur

using UnityEngine;
using System.Collections;

public class TestError : MonoBehaviour {

    public float moveSpeed;
    public float jumpHeight;

    public bool jumped;
    public float jumpdelay;

    private bool grounded;
    Rigidbody2D rigidbody;

    // Use this for initialization
    void Start ()
    {
        jumped = false;
        rigidbody = GetComponent<Rigidbody2D>();
        if (jumpdelay <= 0)
        {
            jumpdelay = 1;
        }
    }
    
    // Update is called once per frame
    void Update ()
    {
        if (grounded && !jumped && Input.GetKeyDown(KeyCode.Space))
        {
            rigidbody.velocity = new Vector2(rigidbody.velocity.x, jumpHeight);
            jumped = true;
            StartCoroutine(SpamBlockco());
        }
    }

    public IEnumerator SpamBlockco()
    {
        if (jumped == true)
        {
            yield return new WaitForSeconds(jumpdelay);
        }
        yield return null;
        jumped = false;
    }
}