2013-02-15 113 views
0

我試圖按下提交按鈕時創建下拉列表。這將通過一個while循環來製作不同數量的列表。我目前有下面的代碼,但它沒有按預期工作。如何顯示html元素

<html> 
    <head> 
     <script type="text/javascript"> 
      function getvalue() { 
       number = document.getnumber.input.value; 
       document.getElementById("result").value = number; 
      } 
     </script> 
    </head> 
    <body> 
     <script> 
      function generatedropdown() { 
       while (i < number) { 
        html = '<select name="select" id="i">'; 
        html += '<option>Test 1</option>'; 
        html += '<option>Test 2</option>'; 
        html += '<option>Test 3</option>'; 
        html += '<option>Test 4</option>'; 
        html += '<option>Test 5</option>'; 
        html += '</select>'; 

        innerHTML = html; 
        i++; 
       } 
      } 
     </script> 
     <form name="getnumber">Input number: 
      <input type="text" name="input"> 
      <input type="button" value="Next" onClick="getvalue()"> 
     </form> 
     <form id="showlists">Number entered: 
      <input type="text" id="result" readonly="readonly"> 
      <input type="button" value="Show lists" onClick="generatedropdown()"> 
     </form> 
    </body> 
</html> 

編輯: 我已經改變了代碼,這但仍沒有運氣。

<html> 
<head> 
<script type="text/javascript"> 

function getvalue() { 
number = document.getnumber.input.value; 
document.getElementById("result").value = number; 
} 
</script> 

</head> 
<body> 

<script> 
function generatedropdown() { 
html = '<select name="select" id="i">'; 
while (i < number) {    
html+='<option>Test 1</option>'; 
html+='<option>Test 2</option>'; 
html+='<option>Test 3</option>'; 
html+='<option>Test 4</option>'; 
html+='<option>Test 5</option>';   
i++; 
} 
html+='</select>'; 
document.getElementById("my-output").innerHTML = html; 
} 
</script> 


<form name="getnumber"> 
Input number: <input type="text" name="input"> 
<input type="button" value="Next" onClick="getvalue()"> 
</form> 


<form id="showlists"> 
Number entered: <input type="text" id="result" readonly="readonly">  
<input type="button" value="Show lists" onClick="generatedropdown()"> 
<div id="my-output">Generated List:</div> 
</form> 
</body> 
</html> 

回答

0

你的語法是錯誤的,首先你必須調用getvalue()的通話generatedropdown(),在此之前,而不是innerHTML = html;使用document.getElementById('YOUR_CONTAINER_ID').innerHTML = html;

1

您可以在元素,只使用.innerHTML,就像這樣:

document.body.innerHTML = 'This is my output'; 

現在,您的body將充滿一些內容。如果你希望把它放在其他元素,如div,你必須創建div第一...

<div id="my-output"></div> 

然後把它和應用內容:

document.getElementById('my-output').innerHTML = 'This is my output'; 
1
html = '<select name="select" id="i">'; 
while (i < number) {    
    html+='<option>Test 1</option>'; 
    html+='<option>Test 2</option>'; 
    html+='<option>Test 3</option>'; 
    html+='<option>Test 4</option>'; 
    html+='<option>Test 5</option>';   
    i++; 
} 
html+='</select>'; 
document.getElementById('your_element_id').innerHTML = html;