He will still do everything he learned when we take him by the training location for a visit.
It sounds like you need to generalize his obedience behaviors. I suggest doing fun play sessions with random OB commands in different locations until he is responding well.
If he isn't engaged with you while out and about, I would start there, working on "watch," or whatever you use for focus. You can be random and unpredictable when on walks to teach him to pay attention. Once you have good engagement, the distractions mean less to the dog, and you can retain control through OB commands if necessary.
Getting the dog in the habit of paying attention to you and looking to you for guidance is the goal of these exercises. You need to be interesting and unpredictable without jabbering constantly at the dog. Use movement and random reinforcement to accomplish this.
As far as the bad behavior at home, it is something you shouldn't have allowed in the first place. I only say that so you understand, and so others reading this will understand, not to demean you in any way. I know you are doing your best.
First, I would manage the behavior in the house with a leash or drag line in the house at all times. If he begins jumping, you can step on the leash to control the dog instead of engaging him physically, which he might see as play.
I would also show him what behavior is rewarding, and which behavior is not. Work him inside with some treats or a toy held at chest level, so he knows they are there. When he jumps up, you say "nope" and break the engagement with the dog, putting the reward behind your back. The dog needs to see that when he jumps, the game stops and the rewards go away. If he is too big or excited to do this, have another person restrain him with the leash while you leave the room. If he sits instead of jumping, BAM, he gets a reward and the game continues.
You don't say if you are using corrections in training. If you are, you can pair a correction with the jump or mouthing. I think this training will probably work best with 2 people; one holding the leash behind the dog and one engaging the dog.
As Chip kind of alluded to earlier, pinning the dog isn't going to get you anywhere except amping the dog up further, or driving him into defense. Neither of these things is going to be productive in your training. I think your communication needs to be clear and concise, timed so the dog understands exactly what works to get the reward, and what causes failure.