JSFiddle - React, Tailwind, and code Playground

by Hifni Nazeer

HTML

<link rel="stylesheet" href="//stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
<script src="//stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<!-- 
  Bootstrap docs: https://getbootstrap.com/docs
-->

<div class="container">
  <form class="form" role="form" autocomplete="off">
    <div class="row">
      <div class="col-md-10 offset-md-1">
        <span class="anchor" id="formUserContactDetails"></span>
        <hr class="my-5">

        <div class="card">
          <div class="card-header">
            <h3 class="mb-0">Contact Details</h3>
          </div>
          <div class="card-body">
            <div class="form-group row">
              <label class="col-lg-3 col-form-label form-control-label">Country of Residence</label>
              <div class="col-lg-9">
                <select id="listCountryCode" class="form-control" size="0">
                  
                </select>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </form>
</div>

CSS

.row {
  background: #f8f9fa;
  margin-top: 20px;
}

.col {
  border: solid 1px #6c757d;
  padding: 10px;
}

JavaScript

$(document).ready(function() {
  //alert("loaded");
	var countryCount = 0;
  var actualApiEndPoint = "https://api.worldbank.org/v2/country?format=json";
  $.ajax({
    url: actualApiEndPoint,
    method: "GET",
  }).done(function(result) {
    var pages = result[0].pages;

    for (var i = 1; i < pages; i++) {
      var endpoint = actualApiEndPoint + "&page=" + (i);
      console.log(endpoint);

      //call he api
      $.ajax({
          url: endpoint,
          method: "GET"
        })
        .done(function(data) {
          var countries = data[1];
          
          countries.forEach(function(item, index) {
            var country = item;
            var countryCode = country.id;
            var countryName = country.name;

            console.log(countryCode + '/' + countryName);
            
            $('#listCountryCode').append(`<option value="${countryCode}">${countryName}</option>`);
            
            countryCount++;
          });
        });
    };
    
    console.log(countryCount);
  });

});