What are the steps to programmatically reset or unselect a Radio button in Angular?

Here is the code snippet for selecting product condition using radio buttons. When a user selects either "New" or "Used," the corresponding product category is fetched:

     <div>
          <h5><b>Condition</b></h5>
          <label class="container">New
            <input (click)="onCondition('New')"  type="radio"  name="radio" >
            <span class="checkmark"></span>
          </label>
          <label class="container">Used
            <input  (click)="onCondition('Used')" type="radio" name="radio" >
            <span class="checkmark"></span>
          </label>
    </div>

The CSS code for styling the Radio button:


/* The container */
.container {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 12px;
  cursor: pointer;
  font-size: 15px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Hide the browser's default checkbox */
.container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Create a custom checkbox */
.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #eee;
}

/* On mouse-over, add a grey background color */
.container:hover input ~ .checkmark {
  background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
.container input:checked ~ .checkmark {
  background-color: #2196F3;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
.container input:checked ~ .checkmark:after {
  display: block;
}

/* Style the checkmark/indicator */
.container .checkmark:after {
  left: 9px;
  top: 5px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}



.slidecontainer {
  width: 100%;
}

.slider {
  -webkit-appearance: none;
  width: 100%;
  height: 25px;
  background: #d3d3d3;
  outline: none;
  opacity: 0.7;
  -webkit-transition: .2s;
  transition: opacity .2s;
}

.slider:hover {
  opacity: 1;
}

.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 25px;
  height: 25px;
  background: #4CAF50;
  cursor: pointer;
}

.slider::-moz-range-thumb {
  width: 25px;
  height: 25px;
  background: #4CAF50;
  cursor: pointer;
}

This TypeScript function is used to reset or uncheck all the radio buttons upon execution. This function enables the resetting of radio buttons to their default state:

/**
   * Get current categories
   * @param categoryId 
   */
  getCurrentCategories(categoryId: number) {
    this.currentCategories = categoryId;

    
  }


Answer №1

To reset the radio button, consider assigning it an id='radio' attribute and use document.getElementById('radio').checked = false

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Having trouble retrieving data from the fetch database. The login page seems to be stuck in a continuous loop and won't let me

Every time I attempt to log in through: webhost/adminlogin.php, I am redirected back to the same page. Did I forget to add something? Thank you for your assistance. Here is my script: This is what is included in my adminlogin.php file: <?php session ...

Exploring the functionality of anchor tags in Angular: what makes them tick?

After recently diving into Angular development, I've come across a curious issue: anchor tags seem to be malfunctioning when clicking on the text inside. Here is the code snippet in question: <a href="{{ downloadAddress }}"><i class="fa fa- ...

The text should be wrapped to overlap with an image positioned above it

Currently, I am in the process of enhancing a webpage that contains a significant amount of old legacy code. One issue I have encountered pertains to text wrapping within a fixed-height and width container, as illustrated in the image below: https://i.sst ...

Pass values from one page to another using jQuery and dynamically load them onto the current page. Implement a "Show More" button to

Apologies if there was any confusion caused. The jquery code provided below is intended to load a webpage within the current webpage, similar to when you click on "load more" or "show more results". The specific page I am attempting to load into the curren ...

Having trouble with Bootstrap card deck's card heights not aligning?

Struggling to align Bootstrap's card deck vertically? One card with shorter text is causing a mismatch and you're not sure how to fix it. On the same page, you want three cards displayed horizontally on desktop and stacked vertically on mobile. ...

What is the process for converting this example into a TypeScript class?

Currently in the process of developing an application using the H5P plug-in, I came across the need to create something for the H5P editor. This led me to discover this documentation on implementing a widget. /** * Module for Color selector widget * * @ ...

How should a frame be correctly inserted into a modal in Bootstrap?

I'm currently working on incorporating a frame into a CSS modal, but the current display is not quite ideal. Additionally, I manually adjusted the frame's position (top and left), which is causing misalignment issues for different screen sizes, r ...

Guide on transitioning from @ngrx/store syntax version 2.2.1 to the latest version 6.1.2

Need help upgrading the syntax usage of @ngrx/store from version 2.2.1 to version 6.1.2 Upon recently upgrading my Angular project from Angular ^2.0.0 to Angular ^6.0.0 along with related npm plugins, I encountered issues with the usage of @ngrx/store and ...

How to vertically align multiple lines of text using CSS

Struggling with vertical alignment of text in a tabbed layout on my website. Some tabs have single-line text while others span two lines, making it challenging to position the text consistently in the middle of each tab without aligning by the first line. ...

Issues with the Content Editable Functionality

While working on my website, I encountered a strange issue. For some reason, I can't seem to get the contenteditable="true" attribute to work on the heading with the ID "hl". It would be awesome if someone could help me figure out how to mak ...

Error: The database connection is currently down

Hey there! I'm currently working on a school project and running into some issues with inserting data into the database. I can't figure out what I'm doing wrong. There are no errors showing up, but for some reason, the information I input i ...

The data returned from the API is intact, yet certain fields remain unassigned

When I make a call to an API, I have created a simple model that matches my angular interface exactly. The issue I am facing is that even though I define the variable where I push the data into of that interface type, it still shows the object fields as u ...

Error: Microsoft.AspNetCore Client Side Rendering Services encountered a critical issue

We are working on an Asp.net core 2.1 +Angular 6 application. Within our Start.cs file, the following code snippet is present: app.UseSpa(spa => { // To learn more about options for serving an Angular SPA from ASP.NET Core, ...

Experiencing problems with malfunctioning javascript tabs

As a beginner user and coder, I'm currently working on creating a portfolio website. I had the idea to implement tabs that would allow for content swapping, but unfortunately, I'm having trouble getting the JavaScript to function correctly. I at ...

Show the entered user data in a separate Div when the button is clicked

Whenever a button is clicked, I am currently able to show the user input from the textbox. However, it always displays in the same Div. The HTML file with the textbox and button- <input type="text" name="inputText"><br> <tr> &l ...

Tips for modifying date format in Angular 8

My datepicker for a date column is displaying the incorrect date format after submission. I am looking to change this format to the correct one. I am working with bsConfig bootstrap in Angular 8, but I am unsure of how to modify the date format. The back ...

Final Release Candidate of Angular 2: Loading Route Information in Real-Time from Service

I'm having trouble loading route data from a service and automatically creating routes in Angular 2 RC Final. I've been trying to assign route data using the Router.Module.forRoot() function, but I can't figure out how to assign fetched data ...

CSS: Struggling to Keep Footer at the Bottom of the Page

I've been struggling to get my footer to stick to the bottom of the page, but I just can't seem to make it work. I've searched online for solutions with no success, so I thought I would ask for help here. http://jsfiddle.net/f54eq3w8/ Here ...

An issue in D3.js where the chart bars are not properly synced with the x-axis labels

Currently delving into the world of d3.js for the first time. In our project, we needed to adjust the width of each bar from .attr('width', xScale.rangeBand()) line 46 to .attr('width', '10') line 50 After making this cha ...

Using Jquery to switch between different CSS styles

I'm currently working with a jQuery code that is functioning properly. $(window).load(function() { $('.menuBtn').click(function(e) { e.preventDefault(); (this.classList.contains('is-active') === true) ? this.c ...