Background
James Ramos is a member of the Serrano/Cahuilla tribe. He was born on and lives on the San Manuel Indian Reservation in San Bernardino County, California. Ramos graduated from San Gorgonio High School. He earned an A.A. in business from Victor Valley College, a B.A. in accounting at California State University, San Bernardino, and a master's of business administration (MBA) from the University of Redlands. Ramos was appointed to serve on the State Board of Education, the San Bernardino Community College Board of Trustees, and the California State Native American Heritage Commission. He was elected to the San Bernardino County Board of Supervisors, where he served as board chair. Ramos also served as chairman of the San Manuel Band of Mission Indians.[1]
- Graduate:
- University of Redlands
- Associates:
- Victor Valley College
- Bachelor's:
- California State University, San Bernardino
Campaign themes
James Ramos has not yet completed [the profile publisher]'s 2026 Candidate Connection survey.
Send a message to James Ramos asking him to fill out the survey.
If you are James Ramos, click here to fill out [the profile publisher]'s 2026 Candidate Connection survey.
Who fills out the candidate survey?
Any candidate running for elected office, at any level, can complete [the profile publisher]'s Candidate Survey. Completing the survey will update the candidate's [the profile publisher] profile, letting voters know who they are and what they stand for. More than 32,000 candidates have taken [the profile publisher]'s candidate survey since we launched it in 2015. Learn more about the survey here.
You can ask James Ramos to fill out this survey by using the button below or emailing info@jamesramos.org.
James Ramos did not complete [the profile publisher]'s 2024 Candidate Connection survey.
.votebox {
color: #888;
display: table;
max-width: 600px;
}
.electionsectionheading {
font-size: 1.25em;
font-weight: bold;
padding-left: 10px;
margin-bottom: .75em;
margin-top: 1em;
}
.results_text {
font-size: 0.9em;
font-weight: 200;
border-bottom: 1px solid grey;
padding-bottom: 7px;
}
.election_results_text {
display: inline;
}
.race_header {
background: #4c4c4c;
color: #fff;
padding:7px 8px 8px;
text-align: center;
margin-bottom: 4px;
}
.race_header.democratic {
background-color: #003388;
}
.race_header.republican {
background-color: #db0000;
}
.race_header.libertarian {
background-color: #dac113;
}
.race_header.green {
background-color: #6db24f;
}
.mw-body #mw-content-text .votebox .race_header h3.votebox-header-office-name {
font-size: 20px;
letter-spacing: .03em;
padding-bottom: 8px;
padding-left: 0;
}
.mw-body #mw-content-text .votebox .race_header h5.votebox-header-election-type {
font-size: 16px;
font-weight: 300;
letter-spacing: .04em;
padding-left: 0;
margin-top: 0px;
margin-bottom: 0px;
line-height: 1.5em;
}
.results_table {
width: 100%;
}
.votebox_legend {
width: 100% !important;
}
.votebox_legend .non_result_row {
vertical-align: top;
}
.results_row td {
padding-bottom: 3px;
padding-top: 3px;
}
.results_row td:first-child {
padding-left: 8px;
}
.results_row {
height: 56px;
}
.votebox-results-cell--check {
color: #6db24f;
font-size: 2em;
}
.mw-content-ltr td.votebox-results-cell--text,
.mw-body #mw-content-text th.votebox-results-cell--text {
font-weight: 300;
}
.mw-body #mw-content-text th.votebox-results-cell--text {
font-weight: 100;
text-align: left;
}
.votebox-results-cell--number {
text-align: center;
}
.image-candidate-thumbnail-wrapper {
border: 1px solid #999;
border-radius: 50%;
display: block;
height: 50px;
overflow: hidden;
position: relative;
width: 50px;
margin-right: 10px;
}
.image-candidate-thumbnail-wrapper .image-candidate-thumbnail {
width: 100%
}
.results_row.winner {
background-color: #f4f4f4;
}
.non_result_row {
color: #888;
font-size: 12px;
letter-spacing: 0.03em;
}
.non_result_row th {
text-align: left !important;
}
.non_result_row div {
display: inline-block;
}
.race_footer {
display: block;
margin: 8px auto;
width: 50%;
}
.votebox-results-metadata {
padding-bottom: 8px;
padding-left: 16px;
padding-top: 8px;
}
.votebox-results-metadata-p {
font-size: 12px;
letter-spacing: 0.03em;
padding-bottom: 0px;
margin-bottom: -2px !important;
}
.outer_percentage {
margin: 0px 10px;
width: 90%;
background-color: #ccc;
float: left;
height: 22px;
overflow-y: hidden;
position: relative;
top: -1px;
max-width: 75px;
}
.inner_percentage {
display: inline-block;
position: absolute;
top: 0px;
left: 0px;
height: 100%;
}
.inner_percentage.Democratic {
background-color: #003388;
}
.inner_percentage.Republican {
background-color: #db0000;
}
.inner_percentage.Libertarian {
background-color: #f9d334;
}
.inner_percentage.Green {
background-color: #6db24f;
}
.inner_percentage.CrossFiled {
background-color: grey;
}
.inner_percentage, .inner_percentage.Nonpartisan, .inner_percentage.Independent, .inner_percentage.Constitution, .inner_percentage.unknown {
background-color: green;
}
.percentage_number {
display: inline-block;
width: 100%;
color:white;
position: absolute;
top: 2px;
left: 0;
text-align: center;
z-index:1;
}
.votebox_bp_logo {
width: 35px !important;
vertical-align: middle;
margin-right: 12px;
position: relative;
top: -5px;
}
.votebox-covid-disclaimer {
font-style: italic;
margin-bottom:16px;
margin-top: 16px;
}
.indicate_scroll {
font-size: 12px;
margin: 0;
padding-bottom: 5px;
font-style: italic;
color: #0645ad;
}
@media screen and (max-width: 350px) {
.race_header, .results_text, .results_table_container, .votebox_legend {
width: 350px;
}
.votebox {
overflow-x: scroll;
width: 100%;
display: block;
}
}
.votebox-scroll-container {
overflow-x: auto;
}
.silhouette-image-container {
position: relative;
display: inline-block;
}
.silhouette-text-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
display: flex;
justify-content: center;
align-items: center;
background-color: white;
opacity: 0;
font-size: 12px;
text-align: center;
transition: opacity 0.3s ease;
border-radius: 100%;
line-height: 1.1;
cursor: pointer;
}
.silhouette-image-container:hover .silhouette-text-overlay {
opacity: 1;
}
.votebox-scroll-container {
overflow-y: hidden;
}
.results_table_container {
max-height: 580px;
overflow-y: auto;
}
</p>
General election
General election for California State Assembly District 45Incumbent James Ramos defeated Joseph Martinez in the general election for California State Assembly District 45 on November 8, 2022. Candidate%Votes✔James Ramos (D)
60.7
45,194Joseph Martinez (R)
39.3
29,209Incumbents are bolded and underlined. The results have been certified. SourceTotal votes: 74,403
= candidate completed the [the profile publisher] Candidate Connection survey.If you are a candidate and would like to tell readers and voters more about why they should vote for you, complete the [the profile publisher] Candidate Connection Survey.Do you want a spreadsheet of this type of data? Contact our sales team.
Nonpartisan primary election
Nonpartisan primary for California State Assembly District 45Incumbent James Ramos and Joseph Martinez advanced from the primary for California State Assembly District 45 on June 7, 2022. Candidate%Votes✔James Ramos (D)
64.1
26,402✔Joseph Martinez (R)
35.9
14,783Incumbents are bolded and underlined. The results have been certified. SourceTotal votes: 41,185
= candidate completed the [the profile publisher] Candidate Connection survey.If you are a candidate and would like to tell readers and voters more about why they should vote for you, complete the [the profile publisher] Candidate Connection Survey.Do you want a spreadsheet of this type of data? Contact our sales team.
Campaign finance
tusa-race-stage-summary, tusa-person-summary, tusa-filing-dates {
--title-background: #334aab;
--subtitle-background: #334aab;
--highlights-background: #d3d4d5;
--link-color: #337ab7;
--progress-bar: #f0a236;
--view-more-background: #f0a236;
}
James Ramos did not complete [the profile publisher]'s 2020 Candidate Connection survey.
On the 2026 ballot
Links
Compiled from the candidate’s published profile as of September 30, 2026.
Source(opens in new tab)