Unfortunately just adding the other input types here won't always work, as the inputs might not be siblings of the button's parent (I tested this with the DB course in-video JSON quiz at http://localhost:8000/db/Winter2013/problemsets/04-01-json-intro_video). Since each question is wrapped in a div with a "question" class, a more reliable means would be `$(this).closest('.question').find('textarea').val('')`.

Radio buttons and checkboxes also need to be handled differently, as setting their values to an empty string will actually wipe out the values associated with them (like my previous comment about button inputs). It should be `$(this).closest('.question').find('input[type="radio"]').removeAttr('checked')`

Also, I think hidden input values should be reset.