检查框是否被选中,如果没有隐藏div

时间:2012-11-21 02:24:11

标签: jquery html checkbox

所以我有基础知识,但它不是我想要的

问题:

当页面加载时,即使未选中该框,也会显示div。

代码:

<div class="element">
<label for="jtf">Jackpot Times: <a href='javascript:void(0);'
NAME='Help' title=' Help '
onClick=window.open('raffle.html','Ratting','width=520,height=570,0,status=0,');><font size='1'>[?]</font></a></label>
<table width='100%'><tr><td align='right'>Daily:</td><td align='left'><input type='checkbox' <?php echo $checkered ?> name='daily' id='daily' value='1' /></td><td align='right'>Weekly:</td><td align='left'><input type='checkbox' <?php echo $checkered1 ?> name='weekly' value='1' /></td><td align='right'>Monthly:</td><td align='left'><input type='checkbox' <?php echo $checkered2 ?> name='monthly' value='1' /></td><td align='right'>Yearly:</td><td align='left'><input type='checkbox' name='yearly' <?php echo $checkered3 ?> value='1' /></td></tr></table>
</div>
<div id='daily_x'>
<div class='element'>
<label for='daily_x'>Daily Jackpot Starting Pot:</label>
<input type='text' name='daily_x' value='<?php echo $rafde?>' />
</div>
</div>
<script>
$('#daily').change(function() {
    if(this.checked){
      $('#daily_x').show();
    }
    else{
      $('#daily_x').hide();
    }
});
</script>

当页面加载时,不会选中每日ID为复选框,但它仍显示div。

我为选择框设置了相似的设置,但是为了隐藏未选择的内容时能够添加$(document).ready(function(),但这在使用复选框时似乎不起作用。

2 个答案:

答案 0 :(得分:4)

首先,在设置监听器之后使用onready,onload()状态,触发更改:

<div class='element'>
<label for='daily_x'>Daily Jackpot Starting Pot:</label>
<input type='text' name='daily_x' value='<?php echo $rafde?>' />
</div>
</div>
<script>
$(function() {
 $('#daily').change(function() {
     if($(this).attr('checked')){
       $('#daily_x').show();
     }
     else{
       $('#daily_x').hide();
     }
 });
 $('#daily').trigger('change');
});
</script>

答案 1 :(得分:3)

if($(this).attr('checked')){
    $('#daily_x').show();
}else{
    $('#daily_x').hide();
}

如果你想隐藏/显示div&#34; onload&#34;然后只需调用.change()函数

$('#daily').change(function() {
    if($(this).attr('checked')){
        $('#daily_x').show();
    }else{
        $('#daily_x').hide();
    }
});

$('#daily').change();