I don't quite like this hide idea, cuz once you hide, there is no way to un-hide it unless you refresh. Most of the time, people need to double check. So giving a simple checkbox besides the item in shopping list is enough.