2011-09-27 32 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); 
} 
相關問題