0

送信ボタンが押されたときにドロップダウンリストを作成しようとしています。これはwhileループを通過して、異なる数のリストを作成します。現在、次のコードがありますが、意図したとおりに機能しません。

<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>
4

3 に答える 3

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;
于 2013-02-15T12:16:35.817 に答える
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';
于 2013-02-15T12:13:04.307 に答える
0

構文が間違っています。まず、を呼び出すgetvalue()前に呼び出す必要がありますgeneratedropdown()。次に、innerHTML = html;使用する代わりにdocument.getElementById('YOUR_CONTAINER_ID').innerHTML = html;

于 2013-02-15T12:12:59.007 に答える