Reputation: 530
I want to add my radio buttons after label. now it's displaying likewise
But I want to show it like this one
Updated
Here is my full code
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-md-12">
<form [formGroup]="surveyQuestionForm">
<div class="form-group">
<label class="control-label"> 1) What is the answer of 3 + 5?</label>
<div class="ml-3">
<div class=" custom-radio custom-control">
<input type="checkbox" class="custom-control-input" id="q1_1" name="q1"
value="1" formControlName="q1" />
<label class="custom-control-label" for="q1_1">2</label>
</div>
<div class=" custom-radio custom-control">
<input type="checkbox" class="custom-control-input" id="q1_2" name="q1"
value="2" formControlName="q1" />
<label class="custom-control-label" for="q1_2">5</label>
</div>
<div class=" custom-radio custom-control">
<input type="checkbox" class="custom-control-input" id="q1_3" name="q1"
value="3" formControlName="q1" />
<label class="custom-control-label" for="q1_3">7</label>
</div>
<div class=" custom-radio custom-control">
<input type="checkbox" class="custom-control-input" id="q1_4" name="q1"
value="4" formControlName="q1" />
<label class="custom-control-label" for="q1_4">3</label>
</div>
<div class=" custom-radio custom-control">
<input type="checkbox" class="custom-control-input" id="q1_5" name="q1"
value="5" formControlName="q1" />
<label class="custom-control-label" for="q1_5">8</label>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
I tried this way
<div class=" custom-radio custom-control">
<label class="custom-control-label" for="q1_1">2
<input type="radio" class="custom-control-input" id="q1_1" name="q1"
value="1" formControlName="q1" /></label>
</div>
Then I can't check.It's not checking.
Update2
Here is the user863 gave way.If I use that method with a different question,then radio buttons show inside answers. if I change css values likewise,
.custom-control-label::after {
left: 1.5rem!important;
}
Then It's showing correctly.But I can't manually change css.Because I don't know what is the length of an answer,It's not a same length for all questions.
.custom-control-label::before,
.custom-control-label::after {
left: 1.5rem!important;
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-md-12">
<form [formGroup]="surveyQuestionForm">
<div class="form-group">
<label class="control-label"> 1) What is the country you would like to go?</label>
<div class="ml-3">
<div class=" custom-radio custom-control">
<input type="radio" class="custom-control-input" id="q1_1" name="q1" value="1" formControlName="q1" />
<label class="custom-control-label" for="q1_1">Australia</label>
</div>
<div class=" custom-radio custom-control">
<input type="radio" class="custom-control-input" id="q1_2" name="q1" value="2" formControlName="q1" />
<label class="custom-control-label" for="q1_2">England</label>
</div>
<div class=" custom-radio custom-control">
<input type="radio" class="custom-control-input" id="q1_3" name="q1" value="3" formControlName="q1" />
<label class="custom-control-label" for="q1_3">Canada</label>
</div>
<div class=" custom-radio custom-control">
<input type="radio" class="custom-control-input" id="q1_4" name="q1" value="4" formControlName="q1" />
<label class="custom-control-label" for="q1_4">India</label>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
Upvotes: 0
Views: 1758
Reputation: 20039
Here is demo using custom css
.custom-control-label::before,
.custom-control-label::after {
left: 1.5rem!important;
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<div class="form-group">
<label class="control-label"> 1) What is the answer of 3 + 5?</label>
<div class="ml-3">
<div class=" custom-radio custom-control">
<input type="radio" class="custom-control-input" id="q1_1" name="q1" value="1" formControlName="q1" />
<label class="custom-control-label" for="q1_1">2</label>
</div>
<div class=" custom-radio custom-control">
<input type="radio" class="custom-control-input" id="q1_2" name="q1" value="2" formControlName="q1" />
<label class="custom-control-label" for="q1_2">5</label>
</div>
<div class=" custom-radio custom-control">
<input type="radio" class="custom-control-input" id="q1_3" name="q1" value="3" formControlName="q1" />
<label class="custom-control-label" for="q1_3">7</label>
</div>
<div class=" custom-radio custom-control">
<input type="radio" class="custom-control-input" id="q1_4" name="q1" value="4" formControlName="q1" />
<label class="custom-control-label" for="q1_4">3</label>
</div>
<div class=" custom-radio custom-control">
<input type="radio" class="custom-control-input" id="q1_5" name="q1" value="5" formControlName="q1" />
<label class="custom-control-label" for="q1_5">8</label>
</div>
</div>
</div>
UPDATE
Moved to right, if you need an alignment use fixed width
(as required)
.custom-control-label::before,
.custom-control-label::after {
left: unset!important;
right: -1.5rem!important;
}
.custom-control-label {
/*width: 100px; (if alignment needed) */
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-md-12">
<form [formGroup]="surveyQuestionForm">
<div class="form-group">
<label class="control-label"> 1) What is the country you would like to go?</label>
<div class="ml-3">
<div class=" custom-radio custom-control">
<input type="radio" class="custom-control-input" id="q1_1" name="q1" value="1" formControlName="q1" />
<label class="custom-control-label" for="q1_1">Australia</label>
</div>
<div class=" custom-radio custom-control">
<input type="radio" class="custom-control-input" id="q1_2" name="q1" value="2" formControlName="q1" />
<label class="custom-control-label" for="q1_2">England</label>
</div>
<div class=" custom-radio custom-control">
<input type="radio" class="custom-control-input" id="q1_3" name="q1" value="3" formControlName="q1" />
<label class="custom-control-label" for="q1_3">Canada</label>
</div>
<div class=" custom-radio custom-control">
<input type="radio" class="custom-control-input" id="q1_4" name="q1" value="4" formControlName="q1" />
<label class="custom-control-label" for="q1_4">India</label>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
Upvotes: 1
Reputation: 522
if you want to calculate sum then you'll need to use checkbox
because only one radion button can be selected at a time.
Reference: https://www.w3schools.com/tags/att_input_type_radio.asp
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-md-12">
<form [formGroup]="surveyQuestionForm">
<div class="form-group">
<label class="control-label"> 1) What is the answer of 3 + 5?</label>
<div class="ml-3">
<div class=" custom-radio custom-control">
<input type="checkbox" class="custom-control-input" id="q1_1" name="q1" value="1" formControlName="q1" />
<label class="custom-control-label" for="q1_1">2</label>
</div>
<div class=" custom-radio custom-control">
<input type="checkbox" class="custom-control-input" id="q1_2" name="q1" value="2" formControlName="q1" />
<label class="custom-control-label" for="q1_2">5</label>
</div>
<div class=" custom-radio custom-control">
<input type="checkbox" class="custom-control-input" id="q1_3" name="q1" value="3" formControlName="q1" />
<label class="custom-control-label" for="q1_3">7</label>
</div>
<div class=" custom-radio custom-control">
<input type="checkbox" class="custom-control-input" id="q1_4" name="q1" value="4" formControlName="q1" />
<label class="custom-control-label" for="q1_4">3</label>
</div>
<div class=" custom-radio custom-control">
<input type="checkbox" class="custom-control-input" id="q1_5" name="q1" value="5" formControlName="q1" />
<label class="custom-control-label" for="q1_5">8</label>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
Upvotes: 0