fullcalendar

HTML

<script src="https://fullcalendar.io/js/fullcalendar-3.0.1/lib/moment.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.0.1/fullcalendar.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.0.1/fullcalendar.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.0.1/fullcalendar.js"></script>
<select id="method_selector">
      <option value="">All</option>
			<option value="Conference">Conference (website)</option>
			<option value="Meeting_download">Meeting (download document)</option>
			<option value="Lunch">Lunch</option>
			<option value="Meeting_memebers">Meeting (members only)</option>
			<option value="Happy_Hour">Happy Hour</option>
			<option value="Dinner">Dinner</option>
</select>
<div>
  <div id='calendar'></div>
</div>

CSS

body {
		margin: 40px 10px;
		padding: 0;
		font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif;
		font-size: 14px;
	}

	#calendar {
		max-width: 900px;
		margin: 0 auto;
	}
  	.fc-list-item-title a:link, .fc-list-item-title a:visited{ color:#447af8;}
	.fc-list-item-title a:hover {color:#000000; text-decoration:underline;}

JavaScript

$(document).on('change', '#method_selector', function() {
		$('.fc-list-item').show();
    $('.fc-list-heading').show();
		var method = $(this).val();
		if( method.length ) {	
			$('.fc-list-item').hide();
      $('.fc-list-item').prev('.fc-list-heading').hide();
			$('.fc-list-item.' + method).show();
			$('.fc-list-item.' + method).prev('.fc-list-heading').show();
		}
	});	
$('#calendar').fullCalendar({
			header: {
				left: 'prev,next today',
				center: 'title',
				right: 'listDay,listWeek,month'
			},

			// customize the button names,
			// otherwise they'd all just say "list"
			views: {
				listDay: { buttonText: 'list day' },
				listWeek: { buttonText: 'list week' }
			},

			defaultView: 'listWeek',
			defaultDate: '2016-09-12',
			navLinks: true, // can click day/week names to navigate views
			editable: true,
			eventLimit: true, // allow "more" link when too many events
			events: [
				{
					title: 'Conference (website)',
					start: '2016-09-11',
					end: '2016-09-14',
   				url: "https://www.ted.com/talks",
          className: "Conference"
				},
				{
					title: 'Meeting (download document)',
					start: '2016-09-12T10:30:00',
					end: '2016-09-12T12:30:00',
   				url: "http://storage.ted.com/tedx/manuals/tedx_speaker_guide.pdf",
          className: "Meeting_download"
				},
				{
					title: 'Lunch',
					start: '2016-09-12T12:00:00',
          className: "Lunch"
				},
				{
					title: 'Meeting (members only)',
					start: '2016-09-12T14:30:00',
   				url: "http://www.dictionary.com/browse/restricted",
          className: "Meeting_memebers"
				},
				{
					title: 'Happy Hour',
					start: '2016-09-12T17:30:00',
          className: "Happy_Hour"
				},
				{
					title: 'Dinner',
					start: '2016-09-12T20:00:00',
          className: "Dinner"
				}
			]
		});