rails 4:使用 Bootstrap Switch 更改状态问题 [英] rails 4 : change state issue with Bootstrap Switch
问题描述
我有 3 个引导程序开关来处理读取/更新/创建权限.它们的区域写为:
<%= f.check_box :allow_read, :data =>{ :size=>'中等','on-color'=>'success', 'on-text'=>"#{t('yes').upcase}",'off-text'=>"#{t('no').upcase}" } %><%= f.check_box :allow_update, :data =>{ :size=>'中等','on-color'=>'success', 'on-text'=>"#{t('yes').upcase}",'off-text'=>"#{t('no').upcase}" } %><%= f.check_box :allow_create, :data =>{ :size=>'中等','on-color'=>'success', 'on-text'=>"#{t('yes').upcase}",'off-text'=>"#{t('no').upcase}" } %>
并显示为:
当用户切换一个开关时,我尝试使用 switchChange.bootstrapSwitch 方法来更改其他 é 开关.
当 :allow_read 关闭时, :allow_update 和 :allow_create 也应该关闭...
所以我写了下面的js代码来处理这种情况......
$('input[name="permission[allow_read]"]').on('switchChange.bootstrapSwitch', function(event, state) {if (event.type == "switchChange" && state == false){$('input[name="permission[allow_update]"]').bootstrapSwitch('state', false, true);//禁止更新$('input[name="permission[allow_create]"]').bootstrapSwitch('state', false, true);//禁止创建}});
但它不能正常工作......因为它在开关之前插入和关闭文本,但是执行了切换:
可能有什么问题?
感谢反馈
--更新 ---忘记添加生成的 HTML...
<input name="permission[allow_read]" type="hidden" value="0"><div class="bootstrap-switch bootstrap-switch-wrapper bootstrap-switch-on bootstrap-switch-medium bootstrap-switch-animate bootstrap-switch-id-permission_allow_read"><div class="bootstrap-switch-container"><span class="bootstrap-switch-handle-on bootstrap-switch-success">OUI</span><label class="bootstrap-switch-label"> </label><span class="bootstrap-switch-handle-off bootstrap-switch-default">非</span><input type="checkbox" value="1" checked="checked" name="permission[allow_read]" id="permission_allow_read">
我猜 Rails 视图助手和 Bootstrap 开关生成的 html 有问题...
回到标准的 html 标签,它可以正常工作
<div class="col-sm-12"><div class="form-group"><p class='col-sm-3 control-label' >READ</p><div class="col-sm-9"><input id="allow_read" name="permission[allow_read]" type="checkbox" value="1" data-size='medium', data-on-color='success' data-on-text="是"数据关闭文本=否"/>