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

好的,我看到您的问题有两种解决方案。第一个是实时值更新:

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

第二种方法是动态更改name选择框和输入框的 s(使用完全相同的标记),以确定将哪个值作为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 回答