【发布时间】:2014-12-19 05:27:32
【问题描述】:
我正在使用Fuelux Checkbox 组件,我正在尝试根据选中的复选框切换一些 DIV。我的做法如下:
$(document).ready(function(){
$('#chkSucursal').on('checked.fu.checkbox', function (evt, item) {
$("#rifEmpresa").toggle(!this.checked);
$("#rifSucursal").toggle(this.checked);
});
$('#chkRif').on('checked.fu.checkbox', function () {
$("#rifEmpresa").toggle(!this.checked);
});
});
但由于#rifEmpresa 始终显示,无论选中与否,都无法正常工作。正确的方法应该是:
- 选中第一个可见复选框“点击我”
- 现在隐藏
#rifEmpresaDIV 并显示#rifSucursal,但第一个不是隐藏 - 在 RIF? 复选框上切换
#rifEmpresa
这是相关的HTML代码:
<form enctype="multipart/form-data" id="registroEmpresa" role="form" class="form-horizontal" method="POST">
<div class="panel panel-default">
<div class="panel-body">
<div class="form-group">
<div id="chkSucursal" data-initialize="checkbox" class="checkbox highlight">
<div class="col-xs-4 control-label"><strong>Check me</strong>
</div>
<div class="col-md-6 col-sm-4 checkbox">
<label class="checkbox-custom">
<input type="checkbox" id="sucursal" name="sucursal" value="1" class="sr-only">
</label>
</div>
</div>
</div>
<div style="display: none;" id="rifSucursal" class="form-group">
<div class="row">
<label class="col-sm-4 control-label">Find company<span class="text-danger">(*)</span>
</label>
<div class="col-md-6 col-sm-4">Some FORM element to Show</div>
</div>
<div class="row">
<div id="chkRif" data-initialize="checkbox" class="checkbox highlight">
<div class="col-xs-4 control-label"><strong>RIF?</strong>
</div>
<div class="col-md-6 col-sm-4 checkbox">
<label class="checkbox-custom">
<input type="checkbox" id="chkRif" name="chkRif" value="1" class="sr-only"> <span class="checkbox-label">(check me to show "Some Form Element to HIDE")</span>
</label>
</div>
</div>
</div>
</div>
<div id="rifEmpresa" class="form-group has-feedback">
<label class="col-xs-4 control-label">RIF <span class="text-danger">(*)</span>
</label>
<div class="col-md-6 col-sm-4">Some FORM element to Hide</div>
</div>
</div>
</div>
</form>
谁能给我一些帮助并告诉我我做错了什么以及如何修复我的代码? Here 是一个用于测试目的的简单 Fiddle
【问题讨论】:
-
试试
#rifEmpresa:checked... -
这是因为事件处理程序中的
this不是复选框元素 -
在
this.checked的地方,试试...$(***).is(":checked")...***应该是“复选框元素” -
@ArunPJohny 是这样吗?我需要依赖
.show()/.hide()? -
@rfornal 我已经更新了fiddle中的代码,还是不行,你能看看吗?
标签: javascript jquery html checkbox fuelux