javascript - 如果单击某些选择选项,则在表单上输入自定义值

标签 javascript forms select textbox

这里有一个与我类似的问题: change select box into text box in javascript

但是,这并不能完全解决我想要做的事情。因此,我将使用他们的工作代码,该代码接近我想要做的事情,然后从那里详细说明。

这是他们迄今为止的工作代码: http://jsfiddle.net/SivaCharan/CT8TT/1/

Javascript:

var dropDown = document.getElementById("dropdown")
dropDown.onchange = function() {
    var dropDownValue = this.options[this.selectedIndex];
    dropDown.style.display = 'none';

    var textBox = document.getElementById("textbox");
    textBox.style.display = 'block';
    textBox.value = dropDownValue.text;
};

但这就是我想要的,但我不知道该怎么做:

在此代码的版本中,当选择选项时,选择框将变成文本框。文本(而不是值)会自动放置在该文本框中。

但我希望仅当选择某个项目(与其中任何一个项目相对)时才显示文本框,并且默认值自动出现在文本框中。

解释我正在做什么,以便您更好地理解:

这是一个简单的捐赠按钮。人们选择预定金额(前几个选项) - 或者 - 他们选择最后一个选项,即“自定义金额”。如果他们选择“自定义金额”,选择框将变成一个文本框,其中包含 0.00。

看起来很简单,但我更喜欢 PHP,而不是 javascript,但这主要需要在 javascript 中完成(除了稍后的表单处理)。

提前感谢您的帮助!

最佳答案

var dropDown = document.getElementById("dropdown")
dropDown.onchange = function() {
    var dropDownValue = this.value;
    if (dropDownValue == "custom") { // This tests for the `<option value="custom">
        dropDown.style.display = 'none';
        var textBox = document.getElementById("textbox");
        textBox.style.display = 'block';
        textBox.value = '0.0';
    } else {
        dropDown.style.display = 'block';
        textBox.style.display = 'none';
    }
};

关于javascript - 如果单击某些选择选项,则在表单上输入自定义值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21527686/

相关文章:

javascript - PHP 表单验证与 ajax

html - 帖子的 Action 和目标有什么区别?

javascript - AngularJS 不会验证 ng-show 隐藏的表单元素的输入

javascript - 在 Excel Javascript API 中创建嵌入式 Web 浏览器或 iframe

javascript - 如何从 jSon 对象构建数组

javascript - 在多个用户脚本之间共享库

javascript - typescript 错误 : Object literal may only specify known properties, 和 'router' 在“ComponentOptions<Vue”类型中不存在

sql - 从 GROUP BY 操作中选择最大计数

sql - 如何有条件地选择 Oracle 查询中的列

javascript - 有一个选择表单字段获取今天是星期几