根据下拉选择动态填充字段 (Javascript / HTML)
Dynamically populate a field based on dropdown selection (Javascript / HTML)
我正在寻求一些帮助来编写我公司网站的代码。我们正在尝试根据下拉框中的选择创建自定义 "part number generator"。我们的目标是,当用户在下拉框中选择一个选项时,它会动态填充下面的框,最终创建一个部件号。随附的屏幕截图很好地展示了设计以及我们想要输出框的位置。我们希望在 JavaScript 和 HTML 中做到这一点。
我们目前使用的代码是这样的:
<script type="text/javascript">
// Pre populated array of data
var myData = new Array();
myData[1] = 'Some text';
myData[2] = 'Some other text';
</script>
<form id="example" name="example">
<select id="selector" name="selector">
<option value="" selected></option>
<option value=1>One</option>
<option value=2>Two</option>
</select>
<br />
<input type="text" value="" id="populateme" name="populateme" />
</form>
<script type="text/javascript">
document.example.selector.onchange = updateText;
function updateText() {
var obj_sel = document.example.selector;
document.example.populateme.value = myData[obj_sel.value];
}
</script>
我在这个网站上搜索了一下,找到了一些动态字段填充的解决方案,但是当我尝试添加第二个表单或移动其中包含输出的框时,代码就停止工作了。我想知道是否有人有过使用下拉选择填充多个字段的经验。我可以根据需要提供更多信息,请给我留言或在下面评论。
图片信息:
这张照片是用我们当前的 Joomla Form 扩展和 Photoshop 完成的,向大家展示我们想要它的样子。我不关心灰色框或格式,我们只是在将输出框向下移动(水平排列)并垂直选择选项的代码上遇到问题。
最简单的解决方案(没有数组):
<html>
<body>
<form id="example" name="example">
<select id="sensor" onchange="updateText('sensor')">
<option value="J">J</option>
<option value="K">K</option>
</select>
<select id="voltage" onchange="updateText('voltage')">
<option value="120V">120V</option>
<option value="240V">240V</option>
</select>
<br />
<input type="text" value="" id="sensorText" /> <input type="text" value="" id="voltageText" />
</form>
<script type="text/javascript">
function updateText(type) {
var id = type+'Text';
document.getElementById(id).value = document.getElementById(type).value;
}
</script>
</body>
</html>
你也可以让它变得非常复杂,比如使用哈希数组。如果您需要复杂的解决方案,请告诉我。
我正在寻求一些帮助来编写我公司网站的代码。我们正在尝试根据下拉框中的选择创建自定义 "part number generator"。我们的目标是,当用户在下拉框中选择一个选项时,它会动态填充下面的框,最终创建一个部件号。随附的屏幕截图很好地展示了设计以及我们想要输出框的位置。我们希望在 JavaScript 和 HTML 中做到这一点。
我们目前使用的代码是这样的:
<script type="text/javascript">
// Pre populated array of data
var myData = new Array();
myData[1] = 'Some text';
myData[2] = 'Some other text';
</script>
<form id="example" name="example">
<select id="selector" name="selector">
<option value="" selected></option>
<option value=1>One</option>
<option value=2>Two</option>
</select>
<br />
<input type="text" value="" id="populateme" name="populateme" />
</form>
<script type="text/javascript">
document.example.selector.onchange = updateText;
function updateText() {
var obj_sel = document.example.selector;
document.example.populateme.value = myData[obj_sel.value];
}
</script>
我在这个网站上搜索了一下,找到了一些动态字段填充的解决方案,但是当我尝试添加第二个表单或移动其中包含输出的框时,代码就停止工作了。我想知道是否有人有过使用下拉选择填充多个字段的经验。我可以根据需要提供更多信息,请给我留言或在下面评论。
图片信息: 这张照片是用我们当前的 Joomla Form 扩展和 Photoshop 完成的,向大家展示我们想要它的样子。我不关心灰色框或格式,我们只是在将输出框向下移动(水平排列)并垂直选择选项的代码上遇到问题。
最简单的解决方案(没有数组):
<html>
<body>
<form id="example" name="example">
<select id="sensor" onchange="updateText('sensor')">
<option value="J">J</option>
<option value="K">K</option>
</select>
<select id="voltage" onchange="updateText('voltage')">
<option value="120V">120V</option>
<option value="240V">240V</option>
</select>
<br />
<input type="text" value="" id="sensorText" /> <input type="text" value="" id="voltageText" />
</form>
<script type="text/javascript">
function updateText(type) {
var id = type+'Text';
document.getElementById(id).value = document.getElementById(type).value;
}
</script>
</body>
</html>
你也可以让它变得非常复杂,比如使用哈希数组。如果您需要复杂的解决方案,请告诉我。