关于JavaScript点击触发下拉框
就像QQ个人信息里血型那一项,上面显示了你之前填写的血型(比如:O型),现在我要修改,但不想手动填写,想通过点击文本框就触发生成一个下拉框,从过下拉框选择,怎么做?
[解决办法]
双击文本,把文本的内容取出来,生成一个下拉框,给下拉框赋值,选择以后把下拉框隐藏或者从页面移除,返回值重新赋给文本框
[解决办法]
应该是这样吧~ 当单击文本框的时候把文本框的数值读取出来,然后让隐藏的下拉列表框显示,把文本框的值赋给下拉别表,把文本框隐藏,也可以生成出新的下拉列表框,隐藏文本框,但是建议之前就做好下拉列表,因为血型就那么几个,没必要做生成的. 这样就可以出现下拉列表了, 当下拉列表的值发生改变的时候在做一次赋值到文本框,隐藏下拉列表,在显示文本框就OK了~
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <title></title> <script src="../jquery/jquery-1.5.2.min.js" type="text/javascript"></script> <script type="text/javascript"> //纯js版 window.onload = function () { var selBloodType = document.getElementById("selBloodType"); //$("#selBloodType"); var txtBloodType = document.getElementById("txtBloodType"); //$("#txtBloodType"); //显示血型下拉框 txtBloodType.onclick = function () { selBloodType.style.display = ""; } //血型下拉框选择项改变时 selBloodType.onchange = function () { txtBloodType.value = selBloodType.options[selBloodType.selectedIndex].value; ; selBloodType.style.display = "none"; } } </script></head><body> <div> <input type="text" id="txtBloodType" style="width: 100px" /> <div> <!-- 这里的select 要使用multiple模式 否则无法自动展开--> <select id="selBloodType" style="display: none; width: 100px" multiple="multiple" size="4"> <option value="A">A</option> <option value="B">B</option> <option value="AV">AV</option> <option value="H1">H1</option> <option value="H2">H2</option> </select> </div> </div></body></html>
[解决办法]
这样?
<script>function createSelect(){ var mySelect = document.createElement("select"); mySelect.id = "mySelect"; mySelect.onchange=function(){document.getElementById("blood").value=this.value} document.body.appendChild(mySelect); addOption(); }function addOption(){ var obj=document.getElementById('mySelect'); obj.options[obj.options.length] = new Option("-请选择血型-","-1"); obj.options[obj.options.length] = new Option("B型","B型"); obj.options[obj.options.length] = new Option("O型","O型"); obj.options[obj.options.length] = new Option("AB型","AB型"); }</script> 血型:<input type="text" id="blood" name="blood" value="A型" onfocus="createSelect()">