JSFiddle - React, Tailwind, and code Playground
HTML
<label class="multiple">
<div class="multi">
<div class="btn_toggle">
<p class="clearfix">
<span class="hida"></span>
</p>
</div>
<ul class=""></ul>
</div>
<select>
<option value="0">--Select States--</option>
<option value="1">U.P.</option>
<option value="2">Haryana</option>
<option value="3">Uttarakhand</option>
<option value="4">West Bengal</option>
<option value="5">Punjab</option>
</select>
</label>
CSS
@import "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css";
.multiple{min-height: 42px;height: auto ; margin: 50px auto; width: 360px; display: block;}
.multiple select{display:none; }
.multi{background-color:#fff; width: 100%; float: left;position: relative;border: 1px solid #ccc}
.multi div{position: relative; border-bottom: none; padding:6px 30px 5px 6px; min-height: 36px;background: #fff url("/img/site/dropdown.png") no-repeat scroll right center; cursor: pointer;}
.multi p{ padding:0 ;margin-bottom: 0; border-bottom: none;}
.multi p.hida{float: none;padding: 0;display: inline-block;margin: 2px 3px 3px 0;}
.multi ul{display:none; list-style-type: none;position: absolute;left: 0; top: 100%; width: 100%; max-height: 172px; overflow-y:auto;overflow-x: hidden; background-color: #fff;z-index: 3;border: 1px solid #ccc;padding-left: 0}
.multi ul li{border-bottom:1px solid #ccc;cursor:pointer; padding: 5px; background-color: transparent;}
.multi ul li:last-child{border-bottom:none}
.multi ul li:hover{background-color: #ff8000; color: #fff}
.selected{background-color: #e0e0e0;border: 1px solid #ccc;color: rgba(0, 0, 0, 0.6);font-weight: 600; border-radius: 15px;padding: 2px 3px; margin: 3px 3px 3px 0; font-size: 9px; text-transform: capitalize;}
.selected.delete_icon{margin-left: 3px;cursor: pointer;; font-size: 9px;}
.selected.delete_icon:hover{color: #2D2D31}
JavaScript
$(document).ready(function(){
if ($(".multiple").find("ul li").length==0) {
var opt = $(".multiple").find("select option");
console.log("opt"+opt.length);
$(".hida").text(opt[0].text);
for (var i = 1; i < opt.length; i++) {
$("ul").append('<li data-value="'+ opt[i].text +'">'+ opt[i].text +'</li>');
}
}
$(".btn_toggle").on("click",function(event){
event.preventDefault();
if(event.target.nodeName != 'I' && event.target.nodeName != "SPAN"){
var a = $(this);
if (a.siblings("ul").is(':hidden')){
$('.btn_toggle').siblings("ul").slideUp();
a.siblings("ul").slideDown();
}
else
a.siblings("ul").slideUp();
}
});
$(document).on('click touch', function (e) {
var container = $(".btn_toggle");
var container1 = $(".btn_toggle").siblings("ul");
if (!container.is(e.target) && container.has(e.target).length === 0 && !container1.is(e.target) && container1.has(e.target).length === 0)
{
$('.btn_toggle').siblings("ul").slideUp();
}
});
$(document).on("click","ul li",function(){
var title = $(this).text() ;
var span = "<span class='selected' title='"+ title +"'>"+title+"<i class='delete_icon glyphicon glyphicon-remove'></i></span>";
$(this).css("display","none");
$(this).parents(".multi").find("p").append(span);
$(this).parents(".multi").find(".hida").hide();
});
$(document).on("click",".selected", function(event){
event.stopPropagation();
});
$(document).on("click",".selected .delete_icon", function(event){
event.stopPropagation();
var parent = $(this).parents("p");
$(this).parents(".multi").find('li[data-value="'+ $(this).parent().text() +'"]').css("display","block");
sortList($(this).parents(".multi").find("ul"));
$(this).parent().remove();
if (!parent.find("span").hasClass("selected")) {
...