html中的select下拉框具有輸入功能

轉載:https://www.douban.com/note/395390036/


一般情況下,select下拉框是隻能選擇,不能用來輸入內容的。當select下拉框中沒有要選擇的信息項時,可以直接在select中輸入自己想要得信息項,在輸入信息項時,不改變select下拉框中原有的信息項。


<html> 
<head> 
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
</head> 
<body> 
	<select id="select" οnkeydοwn="Select.del(this,event)" οnkeypress="Select.write(this,event)">
		<option value=""></option>
		<option value="aaa">aaa</option>
		<option value="bbb">bbb</option>
		<option value="ccc">ccc</option>
	</select>
	<input type="button" value="獲取選擇值" id="test" οnclick="test();"/>
	<script>
		var Select = {
		del : function(obj,e){
			if((e.keyCode||e.which||e.charCode) == 8){
				var opt = obj.options[0];
				opt.text = opt.value = opt.value.substring(0, opt.value.length>0?opt.value.length-1:0);
			}
		},
		write : function(obj,e){
			if((e.keyCode||e.which||e.charCode) == 8)return ;
				var opt = obj.options[0];
				opt.selected = "selected";
				opt.text = opt.value += String.fromCharCode(e.charCode||e.which||e.keyCode);
			}
		}

		function test(){
			alert(document.getElementById("select").value);
		}
	</script>
</body> 
</html>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章