1

次のフィールドを持つフォームがあります。

<input type="text" name="text" id="text">

JavaScript がフィールドの値を受け取るようにしたいので、次のコードを使用する必要があると思います。

<script language="javascript">
    function GetTextBoxValue(text)

    {

        alert(document.getElementById(text).value);

    }
//-->
</script>

このコードは、ドロップダウン オプションの値を変更する必要があります。

<option value="value from JavaScript/text from the textbox">other</option>

テキストボックスのテキストがオプションの値である可能性はありますか? はいの場合、正しく動作するように、ここに option value="value from JavaScript" と書く必要がありますか?

4

2 に答える 2

1

ここにデモがあります:

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript">
            function setOptionValue() {
                document.getElementById("option").value = document.getElementById("text").value;
                document.getElementById("option").text = document.getElementById("text").value;
            }
        </script>
    </head>
    <body>
        <input id="text" />
        <select>
            <option id="option"></option>
        </select>
        <button type="button" onclick="setOptionValue()">Set a value in the text box and press me</button>
    </body>
</html> 
于 2012-07-24T15:34:28.443 に答える
0

OK、あなたの問題には2つの解決策があります。1つ目は、ライブ値の更新です。

<select id="folder" name="folder">
   <option ...
   ... </option>
   <option id="otheroption" value="New">Other</option>
</select>
<div id="otherfolder" style="display:none">
   <label for="otherinput">New folder name:</label>
   <input id="otherinput">
</div>
<script> // here, or execute the following onload/ondomready
    document.getElementById("folder").onchange = function(e) {
        // I guess you have this piece of code already
        document.getElementById("otherfolder").style.display =
            this.options[this.selectedIndex].id == "otheroption" ? "" : "none";
    };
    document.getElementById("otherinput").onkeyup = function(e) {
        document.getElementById("otheroption").value = this.value;
    };
</script>

2つ目は、選択ボックスと入力ボックスのsを(まったく同じマークアップで)動的に変更して、パラメーターnameとしてサーバーに送信される値を決定することです。folder

    document.getElementById("folder").onchange = function(e) {
        var name = "folder",
            other = this.options[this.selected].id == "otheroption";
        document.getElementById("otherfolder").style.display = other ? "" : "none";
        document.getElementById("otherinput").name = other ? name : "";
        this.name = other ? "" : name;
    };
于 2012-07-24T17:17:10.233 に答える