Я использую компонент 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
всегда отображается независимо от того, какой флажок установлен или нет. Правильный путь должен быть:
- Установите первый видимый флажок «Нажмите на меня».
- Скрыть
#rifEmpresa
DIV и показать#rifSucursal
прямо сейчас, это показать, но первый не скрыть - Переключить
#rifEmpresa
на флажок RIF? установлен
Это связанный 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>
Может ли кто-нибудь помочь мне и сказать, что я делаю неправильно и как исправить мой код? Вот простой Fiddle для тестирования.
#rifEmpresa:checked
... - person rfornal   schedule 19.12.2014this
внутри обработчика событий не является элементом флажка - person Arun P Johny   schedule 19.12.2014this.checked
попробуйте ...$(***).is(":checked")
... *** должен быть элементом флажка - person rfornal   schedule 19.12.2014.show()/.hide()
? - person ReynierPM   schedule 19.12.2014