如何检查页面加载时是否选中复选框,如果选中,则显示表单
how to check if a checkbox is checked on page load, and if it does,then show a form?
如果页面加载时选中复选框,我将尝试show()
表单。目前,当我刷新页面时,我的复选框确实显示为选中状态。但是,它直到你点击两次才会显示form
,所以如果你点击复选框一次,它就会取消选中它,然后再点击一次,复选框就会被选中并显示表单。
另一个问题是,我有5个复选框ID和5个表单类,所以我有五个函数在做同样的事情。我的问题是,如何使一个函数与5个不同的ID一起工作?
因此,有两个问题合一:
1) 如何显示选中复选框的表单
2) 如何将我的5个函数转换为一个函数,根据传递的ID显示表单。
PS:我有
<script src="https://code.jquery.com/jquery-2.1.0.min.js"></script>
<script type="text/javascript" src="js/setting.js"></script>
<head>
内部
这是HTML(注意:我将只发布一个带有一个ID的div
)
//This is the checkbox
<div class="col-sm-6">
<div class="form-group">
<label class="switch">
<input name="on_off" checked type="checkbox" id="bc1" class="switch-input on-off">
<span class="switch-label" data-on="On" data-off="Off"></span> <span class="switch-handle"></span>
</label>
</div>
</div>
//this is the form
<form class="form-horizontal bc-details1" method="post" action="programs-controller.php" style="display:none" role="form">
<div class="col-sm-6">
<div class="form-group">
<label class="control-label" >Start Date:</label>
<div class="input-width input-group date col-sm-10 date-picker">
<input placeholder="MM/DD/YYYY" type="text" style="height:30px; font-size:14px" class="form-control " name="start_date" />
<span class="input-group-addon" ><i class="glyphicon glyphicon-calendar"></i></span>
</div>
</div>
</form>
设置.js
$(document).ready(function(){
$('#bc1').change(function () {
if (this.checked) {
$('form.bc-details1').show();
}
else {
$('form.bc-details1').hide();
}
});
$('#bc2').change(function () {
if (this.checked) {
$('form.bc-details2').show();
}
else {
$('form.bc-details2').hide();
}
});
$('#bc3').change(function () {
if (this.checked) {
$('form.bc-details3').show();
}
else {
$('form.bc-details3').hide();
}
});
$('form.bc4').change(function () {
if (this.checked) {
$('form.bc-details4').show();
}
else {
$('form.bc-details4').hide();
}
});
$('#bc5').change(function () {
if (this.checked) {
$('form.bc-details5').show();
}
else {
$('form.bc-details5').hide();
}
});
});
EDIT:我的表单使用的是类,而不是ID。但是,它们必须使用不同的ID或类,因为它们有不同的输入和值
尝试在文档就绪:中调用is(':checked')
$(document).ready(function() {
if ($('#bc').is(':checked')) {
$('form.bc-details1').show();
} else {
$('form.bc-details1').hide();
}
});
并且对于不同的id使用一个功能:
$('input[type=checkbox]').change(function() {
var num = $(this).attr('id').match(/bc([0-9]+)/)[1];
if (this.checked) {
$('form.bc-details' + num).show();
} else {
$('form.bc-details' + num).hide();
}
});
并对文档准备使用相同的技巧:
$(document).ready(function() {
function check() {
var $checkbox = $(this);
var num = $checkbox.attr('id').match(/bc([0-9]+)/)[1];
if ($checkbox.is(':checked')) {
$('form.bc-details' + num).show();
} else {
$('form.bc-details' + num).hide();
}
}
$('input[type=checkbox]').each(check).change(check);
});
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 如果选中了多个复选框,如何添加事件
- 如果选中复选框,则显示引导模式
- setIntervall如果复选框被选中,JS
- 我有多个复选框,并希望为其中 2 个制定规则,以便如果我选择 1 个,则无法选择另一个
- 如果选中复选框,则 JavaScript 添加值
- 如果选中复选框,则添加样式
- 根据条件将函数放入数组中(如果选中复选框)
- 如果选中了以下复选框,请选中上一个复选框
- JavaScript - 如果未选中复选框,则取消选中单选按钮
- 如果未选中复选框,则禁用引导输入按钮
- 选中复选框(如果 json 对象中存在)
- 组复选框 - 如果未选中任何子框,如何取消选中父框
- 选中当前复选框上方的所有复选框(如果按下 shift 键处于选中状态)
- 一旦用户开始在文本字段中键入内容,如何选中复选框?如果javascript/html中的textfield为空,也可以取
- 我有一个与输入金额直接相关的复选框.如果有输入金额,则必须在过账前选中复选框
- 选中复选框如果jquery选中了其他具有相同值的复选框
- 如果不在iMacro中刷新,请选中复选框(如果存在)
- 取消选中父项复选框(如果未选中所有子项)