Select de assinaturas checkout não entende ação js.

Olá bom dia.

Tudo bem?

Preciso tirar uma duvida urgente.

Estou tentando implementar a assinatura em um loja, pesquisei muito sobre a assinatura vinda da pagina de produto como é feita na cobasi. Descobri que não é algo padrão da vtex, e realizei uma customização própria.

Criei um select na pagina de produto com as opções da assinatura, e se a pessoa assinalar, adiciono um cookie a ela.

Com o cookie criado, na tela de checkout criei um js que faz o seguinte.

function getCookieFromPr(){ if (document.cookie.indexOf("assinatura") > 0) { $('.add-item-attachment-container .add-item-attachment').click(); if (document.cookie.indexOf("primeiro") > 0){ var numero = 1; setData(numero) } else if (document.cookie.indexOf("segundo") > 0){ var numero = 2; setData(numero) } else if (document.cookie.indexOf("terceiro") > 0){ var numero = 3; setData(numero) } else if (document.cookie.indexOf("quarto") > 0){ var numero = 4; setData(numero) } else if (document.cookie.indexOf("quinto") > 0){ var numero = 5; setData(numero) }else{} } else {} } function setData(num){ $(document).ready(function(){ $('.item-attachment select option').eq(num).attr('selected','select'); }) }

Ou seja, verifico se existe o cookie "primeiro", "segundo", "terceiro", "quarto" ou "quinto".

Caso exista, pego a posição dele no select, e transformo em selected. Porém, o checkout ainda informa que é necessário selecionar alguma opção (não reconhece que está selected) só quando faço alguma ação (Abro o select mudo a opção e clico fora do select) recarrega o bloco, e entende que está selecionado.

Segue as imagens para ficar mais visual.

picturemessage_wwuagny3.egvCaptura de Tela 2019-12-20 às 16.51.22

Usando uma "gambiarra", será que não ajuda?

$('.item-attachment select option').eq(num).trigger('click')

Infelizmente não,

Essa api é bem complexa e precisa realizar a alteração dela por via de consulta sem interação do cliente

Caso precisem, consegui resolver essa questão.

Mas precisei mudar completamente a forma que enviava meu produto para o carrinho e enviar ele já com uma parte da assinatura feita ao adicionar ao carrinho.

Segue a doc que segui para isso https://documenter.getpostman.com/view/487146/S1a7WkhF?version=latest

Caso tenham duvida estou disponível a ajudar

@vgustavobzr bom dia. Como vc conesguiu? tem um exemplo? ABraços