在javascript中更改另一个输入时更改一个输入
Change an input when you change another one in javascript
我有两个输入字段
例如:一个输入颜色,另一个输入该颜色的代码。
像这样:|Green| |#008000|
我不想学习如何找到颜色代码,而是想学习如何将一个值或变量与另一个匹配。这只是一个例子。
我想知道的是,当我填写第二个字段时,我如何以最佳方式自动生成其中一个字段。当我在第一个字段中键入"绿色"时,我希望代码自动出现在第二个字段中,反之亦然。我只想做几种颜色的。
<html>
<head>
<script type="text/javascript">
var inputA = document.getElementById("color");
var inputB = document.getElementById("code");
inputA.onkeyup = function() {
var v = this.value.toLowerCase();
if (colormapping.color2code[v]){
inputB.value = colormapping.color2code[v];
} else {
inputB.value = '';
}
}
inputB.onkeyup = function() {
var v = this.value.toUpperCase();
if (colormapping.code2color[v]){
inputA.value = colormapping.code2color[v];
} else {
inputA.value = '';
}
}
colormapping = {
color2code:{
green : '#008000',
red : '#FF0000'
},
code2color:{
'#008000':'green',
'#FF0000':'red'
}
}
</script>
</head>
<body>
Name:<br />
<input id="color"><br />
Code:<br />
<input id="code">
</body>
</html>
这就是我所走的路。问题可能是我的标签。为什么不起作用?:/
尝试以下操作:示例
基本上,你需要一个比较对象,你可以对照它进行检查。
colormapping = {
color2code:{
green : '#008000',
red : '#FF0000'
},
code2color:{
'#008000':'green',
'#FF0000':'red'
}
}
然后是相应的事件侦听器:
inputA.onkeyup = function() {
var v = this.value.toLowerCase();
(colormapping.color2code[v])?
inputB.value = colormapping.color2code[v]:
inputB.value = '';
}
对于输入B:,反之亦然
inputB.onkeyup = function() {
var v = this.value.toUpperCase();
if (colormapping.code2color[v]){
inputA.value = colormapping.code2color[v];
} else {
inputA.value = '';
}
}
两者基本上都有相同的代码-第一个使用三元if运算符,而不是经典的if。
(非常高级:如果你想让它变得漂亮,可以将它封装在一个匿名函数中,以保护映射不被更改,并避免全局命名空间污染。)
不确定这是否会有所帮助。我能理解的是,当输入A的值改变时,你想改变输入B的值。如果是:
var inputA = document.getElementById("inputA");
var inputB = document.getElementById("inputB");
inputA.onkeyup = function() {
inputB.value = inputA.value
}
检查jsFiddle如何做到这一点。如果这不是你想要的,请随意投反对票。
http://jsfiddle.net/9xeXC/
您可以将onchange事件用于javascript。
HTML:
<input type="text" id="input1" onchange="input1_changed">
<input type="text" id="input2" onchange="input2_changed">
在javascript函数中,使用switch语句根据更改后的输入的值更改其他输入
Javascript:
function input1_changed() {
var value = document.getElementById("input1").value;
switch (value) {
case "Green":
document.getElementById("input2").value = "#00FF00";
break;
// continue for other colors
}
}
function input2_changed() {
var value = document.getElementById("input2").value;
switch (value) {
case "#00FF00":
document.getElementById("input1").value = "Green";
break;
// continue for other values
}
}
相关文章:
- javascript函数,它接受两个输入:一个对象和一个键,并返回对象中该键的相应值
- 用户在文本框中输入一个数字,并根据使用 PHP 输入的数字重定向到另一个网页
- 如何要求用户输入一个介于 1 和 50 之间的整数,然后小程序打印出一行这个星数
- Javascript提示和警报输入一个数字,它将循环,您将输入数字以获得它的平均值
- 如果使用jquery输入一个字段,则自动填充其他字段
- 一直要一个数字,直到输入一个偶数
- 需要用户输入一个随机数,然后提醒用户数字 ibnputted
- 以 jQuery 为中心的文本框在 Safari 中输入一个字符后失去焦点
- 如何将我的 Google 地图功能从自动查找我的位置更改为让我输入一个位置
- 如何让两个不同的输入(一个用于移动设备,一个用于桌面)修改同一变量
- 允许html输入框只输入一个完整的数字和精确的十进制.5
- 我怎样才能使我的表单输入不返回任何结果,当它输入一个空查询
- 用TypeScript输入一个约束字典
- 只有在用户输入一个字符后,AngularJS才会调用数据库
- 在javascript中输入一个正斜杠
- 如何使移动
- 如何确保用户在Javascript中输入一个有效的数字
- Rails 3 -设计'请输入一个电子邮件地址'弹出消息,即使禁用了validatable
- 在输入中输入一个值
- 输入一个返回的可观察对象