2011-09-27 60 views
0
<form name="txt" method="post"> 

<input type="text" name="select" id="select" onclick="return selectbox();"> 
</form> 

现在通过JS或HTML我可以改变我的文本框为选择或列表框。有没有可能以任何方式。转换一个文本框到任何其他HTML元素

// js代码

function selectbox() 
{ 
var select=document.getElementById('select'); 
select.innerHTML="<select><option>1</option><option>2</option></select>"; 
} 

这样的事情应该发生。在文本框的位置下面的代码应该出现 //新的文本框

<select><option>1</option><option>2</option></select> 
+0

你的问题太模糊,你想将它转换成一个'select'?你想转换什么?如何?每一个新的行应该表明一个选项,还是其他的? – Kokos

回答

3

是的,比如说:

var select = document.createElement("select"); 
select.innerHTML = "<option value='1'>One</option>" + 
        "<option value='2'>Two</option>" + 
        "<option value='3'>Three</option>"; 
select.id = "select"; 
select.name = "select"; 
select.onclick = function(){return selectbox()}; 
var currentSelect = document.getElementById("select"); 
currentSelect.parentNode.replaceChild(select, currentSelect); 
select.focus(); //Focus on the element 

这段代码创建了一个<select>元素,并通过增加了新的选项,它.innerHTML。然后,设置属性。最后。该脚本从HTML文档中选择当前具有id="select"的元素,并用新创建的元素替换该元素。

2

更具体地说明什么和如何。你可以尝试以下

function selectbox(Sender){   
    var select = document.createElement('select'); 
    //UPDATE 
    for(var i=1; i<=2; i++) 
     select.options[select.options.length] = new Option(i, i); 
    Sender.parentNode.appendChild(select); 
    Sender.parentNode.removeChild(Sender); 
}