JSFiddle - React, Tailwind, and code Playground

by Hai Truong

HTML

<input type="text" id="result" placeholder="select" onFocus="openSelect();">
    <div class="choice">
    <input type="radio" name="group1" id="item1" value="Milk">
    <label for="item1">Milk</label>
    <br/>
    <input type="radio" name="group1" id="item2" value="Butter">
    <label for="item2">Butter</label>
    <br/>
    <input type="radio" name="group1" id="item3" value="Cheese">
    <label for="item3">Cheese</label>
    <br/>
    <input type="radio" name="group1" id="item4" value="">
    <label for="item3">Other (input type)</label>
    <br/>
    <input type="button" value="Done" onClick="closeSelect();">
    </div>
    
    <button class="btn">Sample Test</button>

CSS

.choice {
    	visibility:hidden;
    	height:auto;
    	width:170px;
    	background:#3CF;
    }

JavaScript

function openSelect() {
    	var element = document.getElementsByClassName("choice");
    	for (var i=0; i<element.length; i++) {
    		element[i].style.visibility = 'visible';
    	}
    }
    function closeSelect() {
    	var element = document.getElementsByClassName("choice");
    	for (var i=0; i<element.length; i++) {
    		element[i].style.visibility = 'hidden';
	    }
    	var radios = document.getElementsByName("group1");
	    for (var i = 0; i < radios.length; i++) {       
        	if (radios[i].checked) {
            	radioVar = (radios[i].value);
			    document.getElementById("result").value = radioVar;
            	break;
            } else if (radios[3].checked) {
                document.getElementById("result").input.value;
            }
	    }
    }