作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想创建一个网络表单,让用户有机会更轻松地创建票证。
在此网络表单中,我有两个输入表单和一个复选框:
我想要的是以下内容(通过 PowerPoint 创建):
因此,如果用户单击该复选框,网络表单应自动禁用第二个输入表单并复制第一个输入表单的值和/或占位符。简而言之:如果用户单击复选框,第二个输入表单应该与第一个输入表单完全相同,只是它被禁用。
不幸的是我不知道如何做到这一点。现在我的代码如下所示:
输入字段 1(关键用户)+ 复选框:
<div class="form-group">
<label class="control-label col-sm-2" for="keyuser">Key-User:</label>
<div class="col-sm-10">
<input type="keyuser" class="form-control" id="keyuser" placeholder="Username Key-User">
<div class="checkbox">
<label onclick="checkbox()">
<input type="checkbox">
</label>Is the affected user
</div>
</div>
输入字段 2(受影响的用户):
<div class="form-group">
<label class="control-label col-sm-2" for="affuser">Affected User:</label>
<div class="col-sm-10">
<input type="affuser" class="form-control" id="affuser" placeholder="Username affected user">
</div>
Checkbox() [现在根本不起作用]:
function checkbox() {
"use strict";
if (check === "False") {
check = "True";
$('#affuser').attr('placeholder', 'Username Key-User');
} else {
check = "False";
$('#affuser').attr('placeholder', 'Username affected user');
}
}
如何实现上述功能?
最佳答案
我想立即对您的脚本进行一些更改:
onchange
复选框(不是标签元素)的事件处理程序<label>
将在功能上附加到它。对于 JS 来说,这非常简单:当 onchange
时事件注册在复选框元素上,通过简单地评估 .is(':checked')
来评估它是否被选中。 bool 值:
#affuser
元素使用 .prop('disabled', true)
.attr('placeholder', ...)
更新占位符属性.prop('disabled', false)
启用上述元素.attr('placeholder', ...)
更新占位符属性$(function() {
$('#checkbox1').on('change', function() {
if($(this).is(':checked')) {
$('#affuser')
.prop('disabled', true)
.attr('placeholder', $('#keyuser').attr('placeholder'));
} else {
$('#affuser')
.prop('disabled', false)
.attr('placeholder', 'Username affected user');
}
});
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/css/bootstrap.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-group">
<label class="control-label col-sm-2" for="keyuser">Key-User:</label>
<div class="col-sm-10">
<input type="keyuser" class="form-control" id="keyuser" placeholder="Username Key-User">
<div class="checkbox">
<label for="checkbox1">
<input type="checkbox" id="checkbox1">
</label>Is the affected user
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="affuser">Affected User:</label>
<div class="col-sm-10">
<input type="affuser" class="form-control" id="affuser" placeholder="Username affected user">
</div>
</div>
关于javascript - 按下复选框时更改输入形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42904623/
我是一名优秀的程序员,十分优秀!