See a list of all upcoming theater shows and musicals in Oklahoma City 2023/2024. OKC is also one of the country’s best scenes for epic theater shows. Find your favorite show tickets, schedules, and seating charts in the city. The schedule for the shows in the city is revised daily. Get 100% guaranteed tickets for all upcoming theater events in Oklahoma City, OK at the lowest possible price.
×
${ res.pages.map(p => { return `
${p.meta_value[0]} ${p.meta_value}` }).join('') }
` } if(res.performers.length > 0) { results += `
Performers
${ res.performers.map(p => { return `
${p.name[0]} ${p.name}` }).join('') }
` } if(res.venues.length > 0) { results += `
Venues
${ res.venues.map(p => { return `
${p.name[0]} ${p.name}` }).join('') }
` } if(res.events.length > 0) { results += `
Events
${ res.events.map(p => { return `
` }).join('') }
` } qResults.innerHTML = results qResults.style.display = 'block'; closeCircle() } var sbar = document.querySelector('#search-field')sbar.addEventListener('click', () => { sbar.parentNode.classList.add('s-active')if(qResults.children.length > 0) {qResults.style.display = 'block';}if(window.innerWidth <= 700) {document.querySelector('html').style.position = 'fixed'}setTimeout(function() { document.querySelector('html').scrollTop = 0}, 200)})document.addEventListener( 'click', (e) => {const withinBoundaries = e.composedPath().includes(searchBar);if ( ! withinBoundaries ) {qResults.style.display = 'none'; sbar.parentNode.classList.remove('s-active')if(window.innerWidth <= 700) {document.querySelector('html').style.position = 'static'}}})clearSearch.addEventListener('click', () => {searchField.value = ''qResults.style.display = 'none'; sbar.parentNode.classList.remove('s-active')if(window.innerWidth <= 700) {document.querySelector('html').style.position = 'static'}}) function setHeight() { var vh = window.innerHeight * 0.01; document.documentElement.style.setProperty('--vh', `${vh}px`); } setHeight(); window.addEventListener('resize', setHeight);
Upcoming Shows
Welcome to Oklahoma City, OK
Oklahoma City, OK
Upcoming Shows & Tickets
Clear
Apply
Events: 19
Feb 11 Sat 2023 7:30 PM Cinderella - BalletEvents: 4 February 11, 2023 7:30 PM Tickets |
Feb 11 Sat 2023 7:30 PM Oklahoma City BalletEvents: 7 February 11, 2023 7:30 PM Tickets |
Feb 12 Sun 2023 1:00 PM Cirque du SoleilEvents: 5 February 12, 2023 1:00 PM Tickets |
Feb 12 Sun 2023 1:00 PM Cirque du Soleil - CorteoEvents: 5 February 12, 2023 1:00 PM Tickets |
Feb 14 Tue 2023 8:00 PM Jesus Christ SuperstarEvents: 12 February 14, 2023 8:00 PM Tickets |
Feb 19 Sun 2023 5:00 PM The Adventures Of Huckleberry FinnEvents: 21 February 19, 2023 5:00 PM Tickets |
Feb 19 Sun 2023 5:00 PM Big RiverEvents: 21 February 19, 2023 5:00 PM Tickets |
Feb 26 Sun 2023 3:00 PM Dragons and Mythical BeastsEvents: 1 February 26, 2023 3:00 PM Tickets |
Mar 23 Thu 2023 2:00 PM Frozen - The MusicalEvents: 16 March 23, 2023 2:00 PM Tickets |
Apr 05 Wed 2023 7:30 PM RiverdanceEvents: 2 April 5, 2023 7:30 PM Tickets |
Apr 06 Thu 2023 7:30 PM The Play That Goes WrongEvents: 18 April 6, 2023 7:30 PM Tickets |
May 07 Sun 2023 2:00 PM Shorts - BalletEvents: 3 May 7, 2023 2:00 PM Tickets |
May 27 Sat 2023 2:00 PM HamiltonEvents: 16 May 27, 2023 2:00 PM Tickets |
Jun 06 Tue 2023 7:00 PM Madagascar - The MusicalEvents: 2 June 6, 2023 7:00 PM Tickets |
Jul 01 Sat 2023 8:00 PM The Sound Of MusicEvents: 7 July 1, 2023 8:00 PM Tickets |
Jul 16 Sun 2023 2:00 PM The PromEvents: 7 July 16, 2023 2:00 PM Tickets |
Jul 26 Wed 2023 7:30 PM Ain't Misbehavin'Events: 7 July 26, 2023 7:30 PM Tickets |
Sep 30 Sat 2023 2:00 PM Concerto - PlayEvents: 16 September 30, 2023 2:00 PM Tickets |
Nov 24 Fri 2023 2:00 PM A Christmas CarolEvents: 35 November 24, 2023 2:00 PM Tickets |
` citiesList.insertAdjacentHTML('beforeend', cityRow) }) } }function setCity(elem, id) { cityInp.value = elem.textContent citiesList.style.display = 'none' plistW.setAttribute('data-page', 0); paramsCity = '&city=' + id loaderAnim.classList.remove('hidden-loader')loadPerformers() }document.addEventListener( 'click', (e) => {const withinBoundaries = e.composedPath().includes(cityWrap);if ( ! withinBoundaries ) {citiesList.style.display = 'none'}})}function nextCalendar() {curMonth++;if(curMonth > 12) {curMonth = 1curYear++;}createCalendars(calendarBlock, curYear, curMonth)}function prevCalendar() {curMonth--;if(curMonth < 1) {curMonth = 12curYear--;}if(curYear === todayYear && curMonth <= todayMonth) {curMonth = todayMonth;curYear = todayYear;}createCalendars(calendarBlock, curYear, curMonth)}function clearFilter() {if(selected1 !== 0) {selectionIndex = 1;selected1 = 0;selected2 = 0;fstring = '';fltrTitle.innerHTML = 'Filter By Date'fltrBtn.classList.remove('fltr-opened');fltrBtn.addEventListener('click', openFilter, true)plistW.setAttribute('data-page', 0);params = ''loaderAnim.classList.remove('hidden-loader')loadPerformers()} else {fltrBtn.classList.remove('fltr-opened')fltrBtn.addEventListener('click', openFilter, true)}}function applyFilter() {if(fstring !== '') {fltrTitle.innerHTML = fstringif(selected2 === 0) {plistW.setAttribute('data-page', 0);let m = (Number(selected1.toString().substr(4,2))+1).toString()if(m.length === 1) {m = '0' + m}params = '&start_date=' + selected1.toString().substr(0,4) + '-' + m + '-' + selected1.toString().substr(6,2)} else {plistW.setAttribute('data-page', 0);let m = (Number(selected1.toString().substr(4,2))+1).toString()if(m.length === 1) {m = '0' + m}let m2 = (Number(selected2.toString().substr(4,2))+1).toString()if(m2.length === 1) {m2 = '0' + m2}params = '&start_date=' + selected1.toString().substr(0,4) + '-' + m + '-' + selected1.toString().substr(6,2)params = params + '&end_date=' + selected2.toString().substr(0,4) + '-' + m2 + '-' + selected2.toString().substr(6,2)}loaderAnim.classList.remove('hidden-loader');loadPerformers()}fltrBtn.classList.remove('fltr-opened');fltrBtn.addEventListener('click', openFilter, true)}fltrBtn.addEventListener('click', openFilter, true)// closeFltr.addEventListener('click', closeFilter, true)function openFilter(event) { event.stopPropagation() fltrBtn.classList.add('fltr-opened'); fltrBtn.removeEventListener('click', openFilter, true)createCalendars(calendarBlock, curYear, curMonth)}function closeFilter(event) { event.stopPropagation() fltrBtn.classList.remove('fltr-opened'); fltrBtn.addEventListener('click', openFilter, true)}function selectDate(d, m, y) { let daystring = d.toString() if(daystring.length === 1) { daystring = '0' + daystring } let monstring = m.toString() if(monstring.length === 1) { monstring = '0' + monstring } let s = Number(y.toString() + monstring + daystring) let monstr = new Date(y, m).toLocaleString('en', { month: 'short' })if(selectionIndex === 1) {selected2 = 0;selected1 = sfstring = monstr + ' ' + daystring + ', ' + y}if(selectionIndex === 2) {selected2 = s;if(selected1 > selected2) {selected2 = selected1selected1 = sfstring = monstr + ' ' + daystring + ', ' + y + ' - ' + fstring} else {fstring = fstring + ' - ' + monstr + ' ' + daystring + ', ' + y}selectionIndex = 0}selectionIndex++createCalendars(calendarBlock, curYear, curMonth)}function createCalendars(elem, year, month) { let year1 = year; let year2 = year; let mon1 = month - 1; let mon2 = mon1 + 1; if(mon2 > 11) {mon2 = 0year2 = year + 1; } let d1 = new Date(year1, mon1); let d2 = new Date(year2, mon2); let m1str = new Date(year1, mon1).toLocaleString('en', { month: 'long' }); let m2str = new Date(year2, mon2).toLocaleString('en', { month: 'long' }); let calendarBody1 = '' let calendarBody2 = '' for (let i = 0; i < getDay(d1); i++) { calendarBody1 += `
`; } for (let i = 0; i < getDay(d2); i++) { calendarBody2 += `
`; } while (d1.getMonth() == mon1) { let daystring = d1.getDate().toString() if(daystring.length === 1) { daystring = '0' + daystring } let monstring = mon1.toString() if(monstring.length === 1) { monstring = '0' + monstring } let selstring = Number(year1.toString() + monstring + daystring) if(d1 >= (new Date(mindate))) {if(selected1 === selstring && selected2 === 0) { calendarBody1 += '
` + d1.getDate() + '
'; d1.setDate(d1.getDate() + 1);} else if(selected1 === selstring && selected2 !== 0) { calendarBody1 += '
` + d1.getDate() + '
'; d1.setDate(d1.getDate() + 1);} else if(selected2 === selstring) { calendarBody1 += '
` + d1.getDate() + '
'; d1.setDate(d1.getDate() + 1);} else if(selected1 < selstring && selected2 > selstring) { calendarBody1 += '
` + d1.getDate() + '
'; d1.setDate(d1.getDate() + 1);} else { calendarBody1 += '
` + d1.getDate() + '
'; d1.setDate(d1.getDate() + 1);} } else { calendarBody1 += '
' + d1.getDate() + '
'; d1.setDate(d1.getDate() + 1); } } while (d2.getMonth() == mon2) { let daystring = d2.getDate().toString() if(daystring.length === 1) { daystring = '0' + daystring } let monstring = mon2.toString() if(monstring.length === 1) { monstring = '0' + monstring } let selstring = Number(year2.toString() + monstring + daystring) if(d2 >= (new Date(mindate))) {if(selected1 === selstring && selected2 === 0) { calendarBody2 += '
` + d2.getDate() + '
'; d2.setDate(d2.getDate() + 1);} else if(selected1 === selstring && selected2 !== 0) { calendarBody2 += '
` + d2.getDate() + '
'; d2.setDate(d2.getDate() + 1);} else if(selected2 === selstring) { calendarBody2 += '
` + d2.getDate() + '
'; d2.setDate(d2.getDate() + 1);} else if(selected1 < selstring && selected2 > selstring) { calendarBody2 += '
` + d2.getDate() + '
'; d2.setDate(d2.getDate() + 1);} else { calendarBody2 += '
` + d2.getDate() + '
'; d2.setDate(d2.getDate() + 1);} } else { calendarBody2 += '
' + d2.getDate() + '
'; d2.setDate(d2.getDate() + 1); } } if (getDay(d1) != 0) { for (let i = getDay(d1); i < 7; i++) { calendarBody1 += '
'; } } if (getDay(d2) != 0) { for (let i = getDay(d2); i < 7; i++) { calendarBody2 += '
'; } }let calendar1 = ``;let calendar2 = ``;if(window.innerWidth <= 800) {calendar1 = `
${m1str}, ${year1}
Sun
Mon
Tue
Wed
Thu
Fri
Sat
${calendarBody1}
`; calendar2 = `
${m2str}, ${year2}
Sun
Mon
Tue
Wed
Thu
Fri
Sat
${calendarBody2}
`;} else {calendar1 = `
Sun
Mon
Tue
Wed
Thu
Fri
Sat
${calendarBody1}
`; calendar2 = `
Sun
Mon
Tue
Wed
Thu
Fri
Sat
${calendarBody2}
`;}let prevContol = `
`if(curMonth === todayMonth && curYear === todayYear) {prevContol = ``}let calendars = ``if(window.innerWidth <= 800) {calendars = `
${prevContol}
${calendar1 + calendar2}
`;} else {calendars = `
${prevContol}
${m1str}, ${year1}
${m2str}, ${year2}
${calendar1 + calendar2}
`;} elem.innerHTML = calendars;}function getDay(date) { let day = date.getDay(); return day;}fltrBtn.style.display = 'block';