JSFiddle - React, Tailwind, and code Playground
HTML
<div class="container">
<div class="selectBox chosenamountselect">
<span class="selected"></span>
<span class="selectArrow">▼</span>
<div class="selectOptions">
<span class="selectOption" value="100">£100</span>
<span class="selectOption" value="125">£125</span>
<span class="selectOption" value="150">£150</span>
<span class="selectOption" value="175">£175</span>
<span class="selectOption" value="200">£200</span>
<span class="selectOption" value="225">£225</span>
<span class="selectOption" value="250">£250</span>
<span class="selectOption" value="275">£275</span>
<span class="selectOption" value="300">£300</span>
<span class="selectOption" value="325">£325</span>
<span class="selectOption" value="350">£350</span>
<span class="selectOption" value="375">£375</span>
<span class="selectOption" value="400">£400</span>
</div>
</div>
</div>
CSS
div.container {
width: 400px;
height: 300px;
overflow-x: hidden;
overflow-y: visible;
margin-left: auto;
margin-right: auto;
}
div.selectBox {
position: relative;
display: inline-block;
cursor: default;
text-align: left;
line-height: 30px;
clear: both;
color: #888;
}
span.selected {
width: 167px;
text-indent: 20px;
border: 1px solid #ccc;
border-right: none;
border-top-left-radius: 5px;
border-bottom-left-radius: 5px;
background: #f6f6f6;
overflow: hidden;
}
span.selectArrow {
width: 30px;
border: 1px solid #60abf8;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
text-align: center;
font-size: 20px;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-o-user-select: none;
user-select: none;
background: #4096ee;
}
span.selectArrow,span.selected {
position: relative;
float: left;
height: 30px;
z-index: 1;
}
div.selectOptions {
position: absolute;
top: 28px;
left: 0;
width: 198px;
border: 1px solid #ccc;
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;
overflow: hidden;
background: #f6f6f6;
padding-top: 2px;
display: none;
}
span.selectOption {
display: block;
width: 80%;
line-height: 20px;
padding: 5px 10%;
}
span.selectOption:hover {
color: #f6f6f6;
background: #4096ee;
}
JavaScript
$(document).ready(function() {
enableSelectBoxes();
});
function enableSelectBoxes(){
$('div.selectBox').each(function(){
$(this).children('span.selected').html($(this).children('div.selectOptions').children('span.selectOption:first').html());
$(this).attr('value',$(this).children('div.selectOptions').children('span.selectOption:first').attr('value'));
$(this).children('span.selected,span.selectArrow').click(function(){
if($(this).parent().children('div.selectOptions').css('display') == 'none'){
$(this).parent().children('div.selectOptions').css('display','block');
}
else
{
$(this).parent().children('div.selectOptions').css('display','none');
}
});
$(this).find('span.selectOption').click(function(){
$(this).parent().css('display','none');
$(this).closest('div.selectBox').attr('value',$(this).attr('value'));
$(this).parent().siblings('span.selected').html($(this).html());
});
});
}