Use this page to find bills and resolutions in the United States Congress. We have complete information back to 1973,
plus limited information about enacted laws from 1951-1972 and bills from 1799-1873. Can’t find a newly introduced
bill? It can take a few days between a legislator announcing a new bill and when Congress publishes its official status information
and text.
");
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["congress"] = "119";
default_search["sort"] = "\u002Dproscore";
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 ? "bill" : "bills");
$('.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();
});
});