JSFiddle - React, Tailwind, and code Playground

by Gabriel Rodrigues

HTML

<!-- Button trigger modal -->
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
  Configurar Permissões
</button>

<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="myModalLabel">Permissões</h4>
      </div>
      <div class="modal-body">
          <div class="row">
            <div class="col-md-6">
              <label>Permissões</label>
              <select id="permissoes" class="form-control" multiple>
                <option>Clientes</option>
                <option>Boletos</option>
                <option>Usuários</option>
                <option>Configurações</option>
              </select>
            </div>
            <div class="col-md-6">
              <label>Minhas Permissões</label>
              <select id="minhasPermissoes" class="form-control" multiple>
              </select>
            </div>
          </div>
          <br>
          <button id="associar" class="btn btn-primary">Associar</button>
          <button id="desassociar" class="btn btn-primary">Desassociar</button>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Sair</button>
        <button type="button" class="btn btn-primary">Salvar</button>
      </div>
    </div>
  </div>
</div>

JavaScript

var associar = $("#associar");
var desassociar = $("#desassociar");
var permissoes = $("#permissoes");
var minhasPermissoes = $("#minhasPermissoes");


associar.click(function() {
  var selecionado = permissoes.find('option:selected');
  minhasPermissoes.append('<option>' + selecionado.text() + '</option>');
  selecionado.remove();
});

desassociar.click(function() {
  var selecionado = minhasPermissoes.find('option:selected');
  permissoes.append('<option>' + selecionado.text() + '</option>');
  selecionado.remove();
});