I cannot add to the good advice above, except:
My truck acted exactly the same way once. For me, it turned out to be weak batteries. They were each showing ~12.5V on my meter, but when I took them to Oriellys for a load test, they didn't have enough amps. I put two brand new batteries in, and...