Stephen Celis' Timeframe javascript library allows you to create a calendar that allows users to select date-ranges by first clicking a start or end date, and then clicking the other end of the range. The range is shown as you expect in desktop calendar applications with a filled bar between the dates. Hover over the range and click the X control to delete. Nice.
http://stephencelis.com/projects/timeframe#example_information