skip to main content

Historical List of Members of Congress

Search all current and past Members of Congress back to the founding of the nation in 1789. You can also search currently serving Members of Congress or view current congressional district maps.

Page Icon
"); opt.find('input').attr('id', "searchform_field_" + field + "_" + j); opt.find('input').attr('name', field); if (values[j][0] !== null) // e.g. from BooleanField(null=True) opt.find('input').attr('value', values[j][0]); else opt.find('input').attr('value', '__NULL__'); opt.find('label').attr('for', "searchform_field_" + field + "_" + j); if (values[j][0] == "__ALL__") { opt.find('.name').text("All"); } else { opt.find('.name').text(values[j][1]); if (values[j][2]) opt.find('.count').text(make_count(values[j][2])); } if (values[j][3]) opt.attr("title", values[j][3]); if (type == "checkbox") { // restore checked status if (postdata[field]) { for (i in postdata[field]) { if ((""+postdata[field][i]) == (""+values[j][0])) { // convert value to string opt.find('input').attr('checked', '1'); if (postdata[field][i] != "__ALL__") has_default_value = false; } } } } else if (type == "radio") { if (postdata[field] == (""+values[j][0])) // convert value to string opt.find('input').attr('checked', '1'); if (postdata[field] != "__ALL__") has_default_value = false; } // check ALL if nothing is checked if (!postdata[field] && values[j][0] == "__ALL__") opt.find('input').attr('checked', '1'); node.append(opt); } } else if (type == "boolean") { var count = 0; node.attr('checked', field in postdata ); for (j in values) if (values[j][0] == "true") count = values[j][2]; if (count == 0) visible = false; // force hide node.parent().find('span.count').text(make_count(count)); } // On small-width screens, hide fields that have default values until the user wants to see them. if (visible && should_hide_default_facets && has_default_value) { field_container.attr("is-default-hidden", "true"); if (isinitial) field_container.hide(); else field_container.fadeOut(); } else { // Set visibility from what we're told from the server side. field_container.attr("is-default-hidden", "false"); field_container.toggle(visible); } } // Show the "Show more options" link if we've hidden anything. var has_hidden_facet = ($('#searchform *[is-default-hidden=true]').length > 0); $('#show_more_options').toggle(has_hidden_facet); // Don't show the facets until after the first time they are loaded. $('#searchform > .fieldset').show(); $('#searchform .initial_loading').hide(); } function show_more_options() { $('#searchform *[is-default-hidden=true]').fadeIn(); $('#show_more_options').fadeOut(); return false; // cancel click } var default_search = { }; default_search["sort"] = "sortname"; var current_page = 1; var update_search_lock = false; var prev_search = { }; function update_search(pagenum, pageinc, elem, isinitial) { if (update_search_lock) return; update_search_lock = true; $('#searchform input').prop('disabled', true); if (!pagenum && !pageinc) { // When changing the search options, reset to first page. pagenum = 1; } form = $('#searchform')[0]; if (elem && elem.type == "checkbox") { // If any ALL is chosen, clear out the other options. If any other option is // clicked, clear out the ALL. for (var i = 0; i " + r + "
\n" }) .join(""); // Prepare images to be lazy-loaded. results_html = results_html.replace(/ src=/g, " data-src="); results_container.append($("
" + results_html + "
")); results_container.find('img').Lazy(); $('#searcherror').text(''); $('.summary').show(); $('.summary .total').text(addCommas(res.total)); $('.summary .noun').text(res.total == 1 ? "person" : "people"); $('.summary .searchdescr').text(res.description ? " for " + res.description : ""); $("#loading_status").hide(); $("#show_more").toggle(res.page default_search) // may have yielded no results. Back off to all filters off. prev_search = { }; } prev_search.page = 1; // Call the search twice, because we get facets in two parts. prev_search.faceting = "false"; prev_search.do_search = 1; // always required $.ajax({ url: document.location.pathname, type: "GET", dataType: "json", data: prev_search, success: function(res) { if (res.error) return; show_facets(postdata, res.options, isinitial); } }); prev_search.faceting = "true"; $.ajax({ url: document.location.pathname, type: "GET", dataType: "json", data: prev_search, success: function(res) { if (res.error) return; show_facets(postdata, res, isinitial); } }); } else { // Updates checkboxes and radio buttons and the current values // for selects, but in order to be fast we were not returned // the other options for selects- that comes later. show_facets(postdata, res.options, isinitial); // After showing the main content and basic facets, show the full faceted results. postdata.faceting = "true"; $.ajax({ url: document.location.pathname, type: "GET", dataType: "json", data: postdata, success: function(res) { if (res.error) return; show_facets(postdata, res, isinitial); } }); prev_search = postdata; // Store the current search query in the hash so that the user can back-button to // this page and we will try to restore the query options. if (!current_search_set) { if (window.location.hash) // don't set if already blank window.location.hash = "#_"; // setting to blank jumps page to top } else { window.location.hash = "#" + form_qs(current_search); } } } current_page = res.page; update_search_lock = false; $('#searchform input').prop('disabled', false); }, error: function(jqXHR, textStatus, errorThrown) { $('.results').html(""); $('#searchform').text("Search is not currently operational: " + textStatus); update_search_lock = false; $('#searchform input').prop('disabled', false); $("#loading_status").show(); $("#show_more").hide(); } }); return false; // cancel any event } // jQuery may not be loaded yet so execute this naively window.post_jquery_load_scripts.push(function() { update_search(1, null, null, true); $(window).scroll(function() { if (update_search_lock) return; var s = $('#show_more'); if (s.is(":visible") && $(window).scrollTop() + $(window).height() > s.offset().top) s.click(); }); });