gpt4 book ai didi

javascript - 如何检查页面加载时是否选中复选框,如果选中,则显示表单?

转载 作者:行者123 更新时间:2023-12-02 14:49:17 25 4
gpt4 key购买 nike

我正在尝试show()如果在页面加载时选中该复选框,则为一个表单。目前,当我刷新页面时,我的复选框确实显示已选中。但是,它没有显示 form直到您单击两次,因此如果您单击该复选框一次,它取消选中它,然后再单击一次,该复选框将被选中并显示表单。

另一个问题是我有 5 个复选框 ID 和 5 个表单类,所以我有 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(注意:我只会发布一个 div 和一个 ID)

//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>

setting.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();

}

});

});

编辑:我的表单使用类而不是 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);
});

关于javascript - 如何检查页面加载时是否选中复选框,如果选中,则显示表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36312296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com