Jump to content

Retirar ID de váriavel


onurb22
Go to solution Solved by Zex,

Recommended Posts

Boa tarde, 

estou a aprender e a educar-me a usar mais o JS. Estou a fazer um ficheiro com SORTABLE JS e queria usar um IF no onStart dependendo da informação contida na tag ID que tenho já guardado numa váriavel que saca a informação toda da DIV. Neste momento não sei como retirar qual a informação dentro da tag ID para fazer o meu IF.

o meu código dentro do onStart:

var info = evt.from;
console.log(info);

o que ele retorna:

Citação

<div id="caixa1" name="caixa1" class="list-group col">
  restante código
</div>

agora queria sacar o conteúdo do ID para fazer algo do genero IF var igual a caixa1 faz isto se for igual a caixa2 fazer aquilo...

 

Muito obrigado e desculpem o amadorismo

Link to comment
Share on other sites

var exp = document.getElementById('exp');
var caixa1 = document.getElementById('caixa1');
var caixa2 = document.getElementById('caixa2');

new Sortable(exp, {
	onStart: function(evt) {
      var caixa = evt.from;
      console.log(caixa);
      //Aqui quero fazer o if. Se a var caixa for Caixa 1 criar uma caixa na div caixa 1 se for caixa 2 criar uma div na caixa 2
      $('#caixa1').append('<input type="hidden" name="caixa[] "value="caixa1" id="caixa">');
      $('#caixa2').append('<input type="hidden" name="caixa[] "value="caixa2" id="caixa">');
  	},	
  	group: {
      name: 'shared',
      pull: 'clone',
      put: false,
    },
    animation: 150,
    sort: false 
});

new Sortable(caixa1, {
	onRemove: function(evt) {
    	var element = document.getElementById("caixa1");
        var child=document.getElementById("caixa");
        element.removeChild(child);
    },
    group: {
      name: 'shared',
	},
    animation: 150
  });

new Sortable(caixa2, {
	onRemove: function(evt) {
    	var element = document.getElementById("caixa1");
        var child=document.getElementById("caixa");
        element.removeChild(child);
    },
   	group: {
      name: 'shared'
    },
    animation: 150
 });

Basicamente o que quero é sempre que mexer um elemento do EXP para uma das caixas ele crie um campo invisivel com  o valor da caixa. Depois no HTML quando clicar no botao guardar ele diz quantos elementos do formulario ele tem na caixa 1 e na caixa 2. 

 

Talvez esteja a dar uma volta grande e confusa mas foi assim que cheguei a esta forma de gravar os valores na base de dados

Link to comment
Share on other sites

<!-- exp -->
<div class="col-md-2">
	<div class="card card-secondary">
    	<div class="card-header">
        	<h3 class="card-title">EXP</h3>
        </div>
        <div class="card-body">
        	<div id="exp" class="list-group col" name="exp">
            	<div class="list-group-item">
                	<input type="text" value="800" name="valor[]">
  				</div>
  				<div class="list-group-item">
                	<input type="text" value="800" name="valor[]">
  				</div>
  				<div class="list-group-item">
                	<input type="text" value="800" name="valor[]">
  				</div>
            </div>
      	</div>
	</div>
</div>
<!-- cx1 -->
<div class="col-md-2">
	<div class="card card-primary">
    	<div class="card-header">
        	<h3 class="card-title">Caixa 1</h3>
       	</div>
        <div class="card-body">
        	<div id="caixa1" name="caixa1" class="list-group col">
            </div>
      	</div>
  	</div>
</div>
<!-- cx2 -->
<div class="col-md-2">
	<div class="card card-primary">
    	<div class="card-header">
        	<h3 class="card-title">Caixa 2</h3>
      	</div>
        <div class="card-body">
        	<div id="caixa2" class="list-group col">
            </div>
        </div>
  	</div>
</div>

Obrigado 🙂

Edited by onurb22
Link to comment
Share on other sites

Eu receio que não estejamos a falar do mesmo sortable. Mesmo testando no código base deles, eles não reconhecem evt.id 

https://jsbin.com/jayedig/edit?js,output

 

Basicamente o que eu quero é saber no onStart para que div mandei o objecto para poder fazer um IF para se for id caixa 1 imprimir caixa de texto com caixa1 se for id caixa 2 imprimir caixa de texto com caixa2

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.