0

我有 3 个引导开关来处理读取/更新/创建权限。它们的区域写为:

<%= f.check_box :allow_read, :data => { :size=>'medium', 
   'on-color'=>'success', 'on-text'=> "#{t('yes').upcase}", 
    'off-text'=> "#{t('no').upcase}" } %>


<%= f.check_box :allow_update, :data => { :size=>'medium', 
   'on-color'=>'success', 'on-text'=> "#{t('yes').upcase}", 
    'off-text'=> "#{t('no').upcase}" } %>

<%= f.check_box :allow_create, :data => { :size=>'medium', 
   '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); // disallow update
        $('input[name="permission[allow_create]"]').bootstrapSwitch('state', false, true); // disallow create
      }
    });

但它不能正常工作......因为它在切换之前插入和关闭文本,但是执行切换:

切换 :allow_read 按钮后显示

有什么问题?

感谢您的反馈

--UPDATE --- 忘记添加生成的 HTML...

<div class="col-sm-9">
  <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">&nbsp;</label>
          <span class="bootstrap-switch-handle-off bootstrap-switch-default">NON</span>
          <input type="checkbox" value="1" checked="checked" name="permission[allow_read]" id="permission_allow_read">
      </div>
  </div>
</div>
4

1 回答 1

0

我猜 Rails 视图助手和 Bootstrap 开关生成的 html 有问题...
回到标准的 html 标记,它可以正常工作

            <div class="row">
              <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 = "YES" data-off-text = "NO" />
                  </div>
                </div>
              </div>
            </div>

以及用于更新和创建的类似开关...... js脚本运行得很好......

于 2015-11-20T08:15:48.650 回答