Election 2022: Johnson County remains a Democratic stronghold, as Republicans sweep to victories statewide

Jordan Sellergren/Little Village

Johnson County remained a bright spot for Iowa Democrats on Tuesday, even as Republicans dominated Election Day statewide. Every Democrat in a statewide race carried the county by a large margin, even as they were defeated by Republicans. The only possible exception to that pattern is the Auditor of State race, which was still too close to call on Wednesday morning.

Deidre DeJear, the Democratic candidate for governor, only carried four of Iowa’s 99 counties: Johnson, Linn, Polk and Story. In Johnson, DeJear won 69 percent of the vote. Her next highest total came in Story County, where she received 53.7 percent of the vote. Statewide, DeJear finished almost 20 percentage points behind Gov. Kim Reynolds.

Democratic Senate candidate Mike Franken did even better in Johnson, winning 71 percent of the vote, compared to his statewide total of approximately 44 percent. Franken carried five counties — the four DeJear did, plus Blackhawk.

Christina Bohannan, the Democrat challenging Rep. Mariannette Miller-Meeks in Iowa’s 1st Congressional District, crushed the first-term incumbent in Johnson, winning 71 percent of the vote. But Johnson was the county in the district, and Miller-Meeks, who won in 2020 by six votes, won this time with more than 7 percent of all the votes cast.

Christina Bohannan, Deidre DeJear and Mike Franken at the Johnson County Democratic Party get out the vote event, Oct. 28, 2022. — Sid Peterson/Little Village

The result in the attorney general race was typical of the divide between Johnson County and the rest of Iowa. Tom Miller, first elected to the office in 1978 and the longest-serving state attorney general in the country, carried Johnson with 74 percent of the vote, but still lost to Republican Brenna Bird.

Democratic candidates for the Iowa House and Senate whose districts are entirely within Johnson County won their races. But in Iowa Senate District 46, which covers much of northeastern Johnson County, as well as Washington County and a large part of Iowa County, Democrat Kevin Kinney lost. After redistricting this year, the newly configured District 46 was home to two incumbents: Kinney, who was first elected in 2014, and Republican Dawn Driscoll, who is finishing her first term in the chamber. Driscoll, who had the active support of Gov. Reynolds, won the district, 54-46, even though Kinney won the precincts in Johnson, 56-44.

Statewide, Republicans won enough seats in the legislative races to gain a super majority in the Iowa Senate.

There were two seats on the Johnson County Board of Supervisors on Tuesday, and the Democratic candidates won both easily.

Incumbent Jon Green, who won his seat in the June 2021 special election to complete the 18 months left in former Supervisor Janelle Rettig’s term, after Rettig resigned two months earlier. On Tuesday, Green won his first full term on the board with 63 percent of the vote.

V Fixmer-Oraiz won the other seat, over two Republicans and a No Party candidate, with 51 percent of the vote. This was the first run for office for Fixmer-Oraiz, the founder and CEO of the community and environmental planning firm Astig Planning.

There are historic aspects to Fixmer-Oraiz’s election, and in a Meet the Candidate video for City Channel 4, they explained the significance of that.

“If elected, I would be the first trans-queer and biracial candidate at this level, and representation matters. I know what it’s like to have lawmakers create policies that threaten my freedoms, such as who I can marry, what bathrooms I can use and what sports community members of my community can play,” Fixmer-Oraiz said.

They added, “I aim to represent all.”

Fixmer-Oraiz won with 57 percent of the vote. Their nearest competitor was Republican Phil Hemingway, running for a board seat for the fifth time, who garnered 31 percent of the vote.

The last Republican elected to the Johnson County Board of Supervisors was John Etheredge, who won a special election to fill a vacancy in March 2013. The last time a Republican was elected to the board in a general election was 1958.

Democrats were unopposed for the other county-level offices on the ballot Tuesday. Kim Painter was reelected as county recorder. Scott Finlayson was elected treasurer to replace Democrat Tom Kriz, who is retiring, and Rachel Zimmermann Smith was elected county attorney. Current Johnson County Attorney Janet Lyness, also a Democrat, announced in January that she would not be seeking a fifth term.

[gravityform id="17" title="false" description="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper your-village-form_wrapper' id='gform_wrapper_17' ><a id='gf_17' class='gform_anchor' ></a><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_17' id='gform_17' class='your-village-form' action='/election-2022-johnson-county-remains-a-democratic-stronghold-as-republicans-sweep-to-victories-statewide/#gf_17'> <div class='gform_body'><ul id='gform_fields_17' class='gform_fields top_label form_sublabel_below description_below'><li id='field_17_7' class='gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible' ><h3 style="font-weight:800; font-size:34px;">Let's get started</h3> <p style="font-size:18px;">Fill out this form and we'll contact you with information about marketing with Little Village!</p></li><li id='field_17_4' class='gfield field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label gfield_label_before_complex' for='input_17_4_3' ></label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name gfield_trigger_change' id='input_17_4'> <span id='input_17_4_3_container' class='name_first' > <input type='text' name='input_4.3' id='input_17_4_3' value='' aria-label='First name' tabindex='2' aria-invalid="false" placeholder='First name'/> <label for='input_17_4_3' >First</label> </span> <span id='input_17_4_6_container' class='name_last' > <input type='text' name='input_4.6' id='input_17_4_6' value='' aria-label='Last name' tabindex='4' aria-invalid="false" placeholder='Last name'/> <label for='input_17_4_6' >Last</label> </span> </div></li><li id='field_17_5' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_5' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_5' id='input_17_5' type='text' value='' class='large' tabindex='6' placeholder='Company name' aria-required="true" aria-invalid="false" /></div></li><li id='field_17_3' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_3' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_email'> <input name='input_3' id='input_17_3' type='text' value='' class='large' tabindex='7' placeholder='Your email address' aria-required="true" aria-invalid="false"/> </div></li><li id='field_17_8' class='gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_' ><label class='gfield_label' for='input_17_8' >Email</label><div class='ginput_container'><input name='input_8' id='input_17_8' type='text' value='' /></div><div class='gfield_description'>This field is for validation purposes and should be left unchanged.</div></li> </ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_17' class='gform_button button' value='SUBMIT' tabindex='8' onclick='if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; jQuery("#gform_17").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=17&amp;title=&amp;description=&amp;tabindex=1' /> <input type='hidden' class='gform_hidden' name='is_submit_17' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='17' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_17' value='WyJbXSIsIjlmNzc1YTEyZmZjNmYyODk5Mzk0NDM3ZjRlOGYyZDNmIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_17' id='gform_target_page_number_17' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_17' id='gform_source_page_number_17' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="238"/><script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_17' id='gform_ajax_frame_17'>This iframe contains the logic required to handle Ajax powered Gravity Forms.</iframe> <script type='text/javascript'>jQuery(document).ready(function($){gformInitSpinner( 17, '' );jQuery('#gform_ajax_frame_17').load( function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_17');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_17').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;if(is_form){jQuery('#gform_wrapper_17').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_17').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_17').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_17').offset().top); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_17').val();gformInitSpinner( 17, '' );jQuery(document).trigger('gform_page_loaded', [17, current_page]);window['gf_submitting_17'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_17').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_17').offset().top);jQuery(document).trigger('gform_confirmation_loaded', [17]);window['gf_submitting_17'] = false;}, 50);}else{jQuery('#gform_17').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [17, current_page]);} );} );</script><script type='text/javascript'> if(typeof gf_global == 'undefined') var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2},"base_url":"https:\/\/\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope","number_formats":[],"spinnerUrl":"https:\/\/\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope\/images\/spinner.gif"};jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 17) {if(typeof Placeholders != 'undefined'){ Placeholders.enable(); }} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [17, 1]) } ); </script>