【发布时间】:2014-02-03 12:39:22
【问题描述】:
这里有一个与我类似的问题: 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 的文本框。
看起来很简单,但与 javascript 相比,我更像是一个 PHP 人,但这需要主要在 javascript 中完成(除了稍后的表单处理)。
提前感谢您的帮助!
【问题讨论】:
-
这只是一个
if语句,它们在 PHP 和 Javascript 中几乎相同。 -
原代码真的有效吗?我不认为
text是一个有效的属性,它应该是innerText。 -
看看这个..jsfiddle.net/CT8TT/96
-
如果他们想返回菜单中的某个值怎么办?如果选择框消失了,他们怎么办?
-
如果他们改变主意,为什么还要被困住?如果他们决定迟于他们想要的第一个选项之一,他们可以输入该数字作为自定义值(或只是重新加载表单)。
标签: javascript forms select textbox