How to add Search Icon next to my label?

1.7k Views Asked by At

Hi I am working in Angular 4 designing using bootstrap 4. I tried to add search Icon at the end of my label.

Codings below:

<div class="row ">
  <div class="form-group col-lg-2"></div>
  <div class="form-group col-lg-4">
    <label class="Bold">Location Id </label>
    <input type="text" class="form-control"  name="LocationId" >
    <span class="input-group-btn">
      <button class="btn btn-info btn-md" type="button"><i class="fa fa-search"></i></button>
    </span>
  </div>
  <div class="form-group col-lg-4">
    <label class="Bold">Description </label>               
    <input type="text" class="form-control" name="description">
  </div>
  <div class="form-group col-lg-2"></div>
</div>

but it comes like the attached imageClick here. How to add icon at the end of label. Is any problem with my coding?

4

There are 4 best solutions below

4
Bhuwan On BEST ANSWER

Try to make use of input-group component of bootstrap4

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<div class="container">
  <div class="row">
    <div class="col-6">
      <div class="form-group">
        <label>Username</label>
        <div class="input-group">
          <input type="text" class="form-control" placeholder="Username" aria-label="Username" aria-describedby="basic-addon2">
          <div class="input-group-append">
            <button class="btn btn-outline-secondary" type="button">Go</button>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

1
Praveen Kumar On

Form-control class for Input makes the text box occupy the entire width. We need to use input-group class to group input and any icon attached to it. Refer code snippet below for example:

<div class="input-group">
<input type="text" class="form-control"/>
<span class="input-group-addon">
    <i class="fa fa-search"></i>
</span>
</div>
1
ankita patel On

Try this. Wrap input and span to the input-group.

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" >

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" ></script>

<div class="row ">
  <div class="form-group col-lg-2"></div>
  <div class="form-group col-lg-4">
    <label class="Bold">Location Id </label>
    <div class="input-group">
      <input type="text" class="form-control"  name="LocationId" >
      <span class="input-group-append">
        <button class="btn btn-info btn-md" type="button">
          <i class="fa fa-search"></i>
        </button>
      </span>
    </div>
  </div>
  <div class="form-group col-lg-4">
    <label class="Bold">Description </label>               
    <input type="text" class="form-control" name="description">
  </div>
  <div class="form-group col-lg-2">
  </div>
</div>

1
abbas-ak On

Following is the code snippet:

<div class="form-group col-lg-4">
<label class="Bold">Location Id </label>
 <input type="text" class="location-txt form-control"  name="LocationId" >
 <span class="input-group-btn location-search">
<button class="btn btn-info btn-md" type="button">
<i class="fa fa-search"></i>
</button>
</span>
</div>

CSS

.location-txt 
    width: calc(100% - 44px);
    float: left;
}
.location-search{ 
    display: inline-block;
    float: right;
}