Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mbpp

Guardado Valor em Hidden

Recommended Posts

Oi tudo bem? Tou aqui com uma dúvida que já tentei de todas as formas mas não tem forma de o fazer, eu esotu usando o simplecartjs, e nele estou tentando agarrar o valor output de uma class mas por alguma razão não consigo, é como se algo impedisse de o fazer.

 

Abaixo deixo o link do valor qeu estou tentando agarrar, a referencia do objecto mostra aqui:

 

http://simplecartjs.org/documentation/simplecart-grandtotal

 

Depois se quiser fazer o display, basta fazer:

 

  1. <div class="simpleCart_grandTotal"></div>

como diz aqui:

http://simplecartjs.org/documentation/displaying_cart_data

 

Alguem pode-me dizer como poderei guardar esse valor do total num input hidden field?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo o valor voce pode atrelar ao elemento a qualquer momento só repassa-lo para um elemento hidden...

 

 

ex:

 

<input type="hidden" value="<?=$variavel?>" name="campo_escondido">

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que a biblioteca faz com esse elemento (.simpleCart_grandTotal)? Apenas adiciona o valor ao conteudo da div (Ex. <div class="simpleCart_grandTotal">$10</div>?

Se for isso, tente:

var total = $(".simpleCart_grandTotal").text();

Nunca usei o simplecart, mas, pela (péssima) documentação, parece que a função simpleCart.grandTotal() retorna uma string. Sendo assim, tente:

var total = simpleCart.grandTotal();

Se não, de um console.log nesta função e verifique o que ela retorna.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que a biblioteca faz com esse elemento (.simpleCart_grandTotal)? Apenas adiciona o valor ao conteudo da div (Ex. <div class="simpleCart_grandTotal">$10</div>?

 

Se for isso, tente:

var total = $(".simpleCart_grandTotal").text();

Nunca usei o simplecart, mas, pela (péssima) documentação, parece que a função simpleCart.grandTotal() retorna uma string. Sendo assim, tente:

var total = simpleCart.grandTotal();

Se não, de um console.log nesta função e verifique o que ela retorna.

 

 

Já tentei, algo do género, mas por alguma razão o simplecart em vez de trazer o valor total me dá um numero que não tem nada a ver, pelo console funcionou bem, mas na pratica não deu certo, eu fiz assim:

 

script:

document.getElementById('totalValor').value = simpleCart.grandTotal();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Confirma o tipo que é retornado por essa função.

var total = simpleCart.grandTotal();
console.log(typeof total);

Não funcionou pegar diretamente o texto da div?

var total = $(".simpleCart_grandTotal").text();


Qual o HTML que é exibido para essa div? Inspeciona o elemento e copia o código aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Confirma o tipo que é retornado por essa função.

var total = simpleCart.grandTotal();
console.log(typeof total);

Não funcionou pegar diretamente o texto da div?

var total = $(".simpleCart_grandTotal").text();

Qual o HTML que é exibido para essa div? Inspeciona o elemento e copia o código aqui.

 

A função retorna "number", e quanto pegar directamente o text da div não funciounou.

 

O html que é exibido na class é essa: <div class="simpleCart_grandTotal">€282.00</div>

 

 

Já tentei, algo do género, mas por alguma razão o simplecart em vez de trazer o valor total me dá um numero que não tem nada a ver, pelo console funcionou bem, mas na pratica não deu certo, eu fiz assim:

 

script:

document.getElementById('totalValor').value = simpleCart.grandTotal();

 

 

Pois é Rafael, mas quanto faço dessa forma:

 

document.getElementById('totalValor').value = simpleCart.grandTotal();

 

Me traz um valor que é um numero, nesse caso o numero 7

Compartilhar este post


Link para o post
Compartilhar em outros sites

É provável que a função pra pegar o valor esta sendo chamada antes do update na informação.

Tenta utilizar o evento update do simpleCart.

simpleCart.bind( 'update' , function(){
  var total = simpleCart.toCurrency( simpleCart.grandTotal() )
  console.log( total );
});

Faça alterações no carrinho, e verifique no console se está logando corretamente o total.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele agora me traz esse valor:

 

É provável que a função pra pegar o valor esta sendo chamada antes do update na informação.

Tenta utilizar o evento update do simpleCart.

simpleCart.bind( 'update' , function(){
  var total = simpleCart.toCurrency( simpleCart.grandTotal() )
  console.log( total );
});

Faça alterações no carrinho, e verifique no console se está logando corretamente o total.

 

 

Sim parece que sim, da-me o seguinte valor: "€282.00 "


Ele agora me traz esse valor:

 

 

 

Sim parece que sim, da-me o seguinte valor: "€282.00 "

 

 

Como poderei remover o "€" para pdoer por no input field


Desculpa, nao vi direito, é so remover o "simpleCart.toCurrency".

 

Obrigado Rafael ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.