javascript - 如何在复选框打勾时将一个文本框中输入的数据显示到另一个文本框?
问题描述
我正在尝试将在一个文本框中输入的数据反映到复选框勾选上的另一个文本框中。复选框的默认状态为选中状态。该值应在取消选中并再次检查后更改。即使代码似乎可以正常工作,我得到的唯一输出是“on”。
$(".check").click(function() {
if ($(this).is(":checked")) {
$('.add1').val(this.value) === $('.add2').val(this.value);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type=checkbox checked class="check">
<input type="text" id="first" class="add1" />
<input type="text" id="second" class="add2" />
请注意,我想按班级进行。
解决方案
问题是因为this
指的是checkbox
. 因此this.value
,您将其放在文本框的值中,它是字符串“on”。
要修复这个地方in 到val()
,如下例所示。还要注意在处理复选框时使用而不是,因为它提高了可访问性。.add1
.add2
change
click
$(".check").change(function() {
if (this.checked) {
$('.add2').val($('.add1').val());
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" checked class="check">
<input type="text" id="first" class="add1" />
<input type="text" id="second" class="add2" />
推荐阅读
- c++ - 当我们可以声明,而不是定义,但仍然在 C++ 中使用这些函数时
- typescript - 解决外面的承诺
- acumatica - 如何解决“ClientSideAppsHelper.RenderScriptConfiguration 已过时”
- angular - Angular:Service Observable 不会在组件中触发
- jquery - 按下向下箭头键时无法将类添加到自动完成 ul il 列表并且无法专注于 li 列表元素(不使用 jquery UI)
- angular - angular 8 Cordova 插件承诺
- sitefinity - 自定义小部件设计器以模态屏幕外呈现
- powerbi - Dax - 基于过滤器参数的动态属性值
- javascript - JS通过字符串eval更新数组
- javascript - 为什么`Object.keys/values/entries`返回数组而`Array ...`返回迭代器