隐藏/显示选择下拉列表指定值时的文本字段

时间:2017-05-08 19:13:38

标签: javascript html mysql drop-down-menu

我开始从此解决方案生成我的脚本,请在此链接display/hide textbox based on drop down list

找到

在这种情况下,值必须是字符值。但在我的情况下,我需要的值是从mysql数据库中指定的ID号。

这是我修改过的脚本,不起作用。选择其他值时,不显示文本框。

<form name="myform">
    <table>
        <tr>
            <td>
                <select name="one" onchange="if (this.value=='10000'){this.form['10000'].style.visibility='visible'}else {this.form['10000'].style.visibility='hidden'};">
                <option value="" selected="selected">Select...</option>
                <option value="1">1</option>
                <option value="2">3</option>
                <option value="3">3</option>
                <option value="4">4</option>
                <option value="5">5</option>
                <option value="6">6</option>
                <option value="7">7</option>
                <option value="10000">Other</option>
                </select>
                <input type="textbox" name="10000" style="visibility:hidden;"/>
            </td>
        </tr>
    </table>
</form>

但是如果将值10000更改为OtherValue字,则此脚本可以工作。 如何修改这个脚本?

2 个答案:

答案 0 :(得分:3)

您可以像这样重写代码。

<form name="myform">
    <table>
        <tr>
            <td>
                <select name="one" onchange="if (this.value=='10000'){userselect.style.visibility='visible'}else {userselect.style.visibility='hidden'};">
                <option value="" selected="selected">Select...</option>
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
                <option value="4">4</option>
                <option value="5">5</option>
                <option value="6">6</option>
                <option value="7">7</option>
                <option value="10000">Other</option>
                </select>
                <input type="textbox" name="10000" id="input" style="visibility:hidden;"/>
            </td>
        </tr>
    </table>
</form>

<script>
var userselect = document.getElementById('input');
</script>

答案 1 :(得分:-1)

如果您询问如何将字符串转换为数字,则可以在字符串前附加+符号,如下所示:

var numberString = "3";                // the string "3"
var numericValue = +numberString;      // the number 3

请注意,如果您的字符串包含非数字值,则会转换为NaN