我试图根据是否选中了复选框值来隐藏/显示div。找到一些代码,做了一些自定义,但现在页面每次都保持刷新。有人可以帮助我吗?
<script>
$(document).ready(function(){
$("select").change(function(){
if($(this).val() == '0'){
$("#cp_doel_lening").attr('checked', false);
$("#cp_doel_lening2").attr('checked', false);
$("#box").hide();
$(".custom_doel").hide();
}
if($(this).val() == '7'){
$("#box").hide();
$(".custom_doel").show();
}
if($(this).val() == '8'){
$("#box").hide();
$(".custom_doel").show();
}
if($(this).val() == '9'){
$("#cp_doel_lening").attr('checked', false);
$("#cp_doel_lening2").attr('checked', false);
$("#box").hide();
$(".custom_doel").hide();
}
}).change();
});
</script>
我的css代码:
div.custom_doel {
display: none;
}
然后是我的HTML代码:
<form><select name='scat' id='scat' class='postform' >
<option value='0' selected='selected'>Alle rubrieken</option>
<option class="level-0" value="9">Ervaringen</option>
<option class="level-0" value="7">Man</option>
<option class="level-0" value="8">Vrouw</option>
</select><input type="submit" ></form>
<div class="custom_doel" id="box">
<strong>Doel lening</strong>
<li><label><input type="checkbox" name="cp_doel_lening[]" value="Particulier" id="cp_doel_lening" <?php
if (in_array('Particulier', $_GET['cp_doel_lening']) ) {
echo 'checked';
}
?> />Particulier</label></li>
<li><label><input type="checkbox" name="cp_doel_lening[]" value="Zakelijk" id="cp_doel_lening2" <?php
if (in_array('Zakelijk', $_GET['cp_doel_lening']) ) {
echo 'checked';
}
?> />Zakelijk</label></li>
</div>
为什么让我的页面不断刷新?我注意到,如果我从我的javascript代码中删除了.change()
,那么它就不会再发生了,但是div也将隐藏在表格搜索上(在搜索结果页面上),这是合乎逻辑的(我猜)因为css代码有display:none;)。
任何帮助将不胜感激。
谢谢!
答案 0 :(得分:0)
我做了一个脏修复程序,如下所示;我很容易检查表单是否已提交,如果是,则显示设置为“阻止”。
在<div class="custom_doel" id="box">
的地方,我将其更改为:
<?php
if (in_array('Zakelijk', $_GET['cp_doel_lening']) || in_array('Particulier', $_GET['cp_doel_lening']) ) { ?>
<div class="custom_doel" id="box" style="display:block;">
<?php } else { ?>
<div class="custom_doel" id="box">
<?php } ?>
此外还有.change();从jquery中删除,导致此代码:
<script>
$(document).ready(function(){
$("select").change(function(){
if($(this).val() == '0'){
$("#cp_doel_lening").attr('checked', false);
$("#cp_doel_lening2").attr('checked', false);
$("#box").hide();
$(".custom_doel").hide();
}
if($(this).val() == '7'){
$("#box").hide();
$(".custom_doel").show();
}
if($(this).val() == '8'){
$("#box").hide();
$(".custom_doel").show();
}
if($(this).val() == '9'){
$("#cp_doel_lening").attr('checked', false);
$("#cp_doel_lening2").attr('checked', false);
$("#box").hide();
$(".custom_doel").hide();
}
})
});
</script>