JavaScript-如何更改输入和更改字段值
我不知道如何使用JavaScript-如何更改输入和更改字段值,javascript,jquery,onchange,Javascript,Jquery,Onchange,我不知道如何使用oninput或onchange方法更改表单字段值。例如,我需要使一个输入字段在另一个输入字段更改后立即更改其值。所以我试着: <input type="number" id="a" value="999.99" oninput="updateInput(value)"/> <input type="number" id="b" value=""/> <script> $(document).ready(function update
oninput
或onchange
方法更改表单字段值。例如,我需要使一个输入字段在另一个输入字段更改后立即更改其值。所以我试着:
<input type="number" id="a" value="999.99" oninput="updateInput(value)"/>
<input type="number" id="b" value=""/>
<script>
$(document).ready(function updateInput(value) {
document.getElementById("b").value = document.getElementById("a").value;
});
</script>
$(文档).ready(函数更新输入(值){
document.getElementById(“b”).value=document.getElementById(“a”).value;
});
它没有任何作用。我做错了什么
在另一种情况下,我需要根据另一个下拉列表(使用
if
子句)更改下拉列表的值。因为上面的简单脚本已经不起作用了,我甚至不知道第二个脚本该怎么办…这里有一些问题;首先要解决的问题是在哪里声明函数。Javascript有一个作用域的概念,可以将其视为声明变量的容器。函数没有执行任何操作的原因是,updateInput
的定义被锁定在jquery$(document.ready
范围内
一旦您将该定义从jquery包装器中取出,它就可用于全局窗口范围,即您在oninput
中访问的范围。我应该指出,有更灵活/更有用的方法来设置事件侦听器,但如果这是一个简单的用例,那么您所拥有的将起作用
函数更新输入(值){
document.getElementById(“b”).value=document.getElementById(“a”).value;
}
这里有一些问题;首先要解决的问题是在哪里声明函数。Javascript有一个作用域的概念,可以将其视为声明变量的容器。函数没有执行任何操作的原因是,
updateInput
的定义被锁定在jquery$(document.ready
范围内
一旦您将该定义从jquery包装器中取出,它就可用于全局窗口范围,即您在oninput
中访问的范围。我应该指出,有更灵活/更有用的方法来设置事件侦听器,但如果这是一个简单的用例,那么您所拥有的将起作用
函数更新输入(值){
document.getElementById(“b”).value=document.getElementById(“a”).value;
}
您的函数在标记中未定义,因为它被传递到
就绪
并在那里确定范围。最好不要将更新
功能传递给就绪
,而是在其内部创建并将该功能附加到来自代码的输入
。不要每次都获取DOM元素,而是获取一次并使用变量保存它们
您还将jQuery
方法与纯Javascript
方法混合使用。我认为最好使用其中一种
使用jQuery
$(文档).ready(函数(){
常量输入=$(“#a”);
const bInput=$(“#b”);
aInput.on('input',function(){
bInput.val(aInput.val());
});
})
您的函数在标记中未定义,因为它被传递到
就绪
并在那里确定范围。最好不要将更新
功能传递给就绪
,而是在其内部创建并将该功能附加到来自代码的输入
。不要每次都获取DOM元素,而是获取一次并使用变量保存它们
您还将jQuery
方法与纯Javascript
方法混合使用。我认为最好使用其中一种
使用jQuery
$(文档).ready(函数(){
常量输入=$(“#a”);
const bInput=$(“#b”);
aInput.on('input',function(){
bInput.val(aInput.val());
});
})
您必须在
$(document).ready()之外定义updateInput()
函数,以便您可以从代码的其余部分调用它,否则它的作用域仅限于此
其次,函数所使用的参数从未使用过,因此我冒昧地删除了它
第三,要在页面加载后立即调用此函数,只需在$(document).ready()中调用它,就可以开始了
下面是一个工作示例:
函数updateInput(){
document.getElementById(“b”).value=document.getElementById(“a”).value;
}
$(document).ready(updateInput())代码>
您必须在$(document).ready()之外定义updateInput()
函数,以便您可以从代码的其余部分调用它,否则它的作用域仅限于此
其次,函数所使用的参数从未使用过,因此我冒昧地删除了它
第三,要在页面加载后立即调用此函数,只需在$(document).ready()中调用它,就可以开始了
下面是一个工作示例:
函数updateInput(){
document.getElementById(“b”).value=document.getElementById(“a”).value;
}
$(document).ready(updateInput())代码>