<p>
<?php $creates = array('name'=> 'single_obs_value','class' => 'singleobsyes','value'=> '1','style'=>' float: left; margin-right: 2px;'); ?>
<?=form_label('Single Observation : ');?>
<?=form_checkbox($creates);?>
<br>
</p>
另外两个是从数据库数组变量中引入的。
<p>
<?php foreach($obsnames as $cp){ ?>
<?php $create = array('name'=> 'cms_permissions[]','class' => 'singleobs','value'=> $cp->id,'style'=>' float: left; margin-right: 10px;'); ?>
<span style="width:200px; float:left">
<?=form_checkbox($create ).' '.form_label($cp->field_name);?>
</span>
<?php } ?>
</p>
如何在页面加载时首先使数据库引入的两个不可见。然后,当勾选控制器复选框时,再次显示两个复选框。如果可能的话,使用一个jquery函数,它使用控制器类的复选框。
$('#singleobsyes').change(function(){
而不是
$('input[type="checkbox"']
当我在页面上使用其他复选框时,我相信这可能会导致一些冲突。
答案 0 :(得分:1)
试试这个
$(document).ready(function(){
$('input[type="checkbox"]').not('.singleobsyes').hide();// hide all checkboxes other than controller
$('.singleobsyes').change(function(){
if($(this).is(':checked')
$('input[type="checkbox"]').not('.singleobsyes').show();
else
$('input[type="checkbox"]').not('.singleobsyes').hide();
});
});
答案 1 :(得分:1)
更新:请参阅此fiddle
您也可以使用css选择器
来执行此操作<强> HTML 强>
<input type="checkbox" class="singleobsyes" name="a"/>check to show others
<input type="checkbox" class="singleobs" name="b"/>
<input type="checkbox" class="singleobs" name="c"/>
<强> CSS 强>
.singleobs{
display:none;
}
.singleobsyes:checked ~ .singleobs{
display:block !important;
}
你也可以使用包装
答案 2 :(得分:0)
要使复选框不可见,您可以style="display:none"
现在,您可以在“主要”复选框中添加onchange="showem();"
属性。
function showem()
{
$('#checkbox1id').toggle();
$('#checkbox2id').toggle();
}
编辑:将show
更改为toogle
答案 3 :(得分:0)
你可以这样简单,
$(document).ready(function(){
$('input[type="checkbox"]').not('.singleobsyes').hide();
$('.singleobsyes').on("change", function(){
$('input[type="checkbox"]').not('.singleobsyes').toggle();
});
});