Ir para conteúdo

Arquivado

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

Cláudio Rogério Jr

Ajuda com Javascript - recuperar valores gerados por loops

Recommended Posts

Olá muito bom dia a todos, sou principiante com javascript se meu código estiver errado me corrijam por favor. Minha dúvida é o seguinte estou fazendo um sistema web que a pessoa escolhe através de um combobox a quantidade de campos que ela ira gerar, cujo campos são para a inserção de textos até aqui consegui fazer funcionar normalmente (não sei se fiz da forma correta, porém esta funcionando) minha dúvida é saber como posso pegar os textos que foram inseridos em cada textbox, sendo que os campos foram gerados por meio de um loop (for). Segue o código (javascript):

 

function gerar()
 
{
    var qntMaquinas = document.getElementById("qntdm").options[document.getElementById("qntdm").selectedIndex].text;
    var nodeElement = document.getElementById(''gerarM'');
 
    for (var i = 0; i < qntMaquinas-1; i++) {
          
        var clone = nodeElement.cloneNode(true); 
        var campo =  document.body.appendChild(clone)[i];
    }
 
                         
}
 
function limpar()
 
{
    window.location.reload()
                         
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!
Se quiser pegar os valores preenchidos nos inputs com uma linguagem server side, use array no name dos inputs assim:
 

<input type='text' name='entradas[]'>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
10 horas atrás, tetsuo disse:

Olá!
Se quiser pegar os valores preenchidos nos inputs com uma linguagem server side, use array no name dos inputs assim:
 


<input type='text' name='entradas[]'>

 

Se não for pedir muito, será que você poderia me dar um exemplo de como pegar este valor ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ex. com php, para quando submeter o form usando post method:
 

<?php

if(isset($_POST['entradas'])){
  echo '<pre>';
  print_r($_POST['entradas']);
  echo '</pre>';
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tentei fazer um pouco diferente na verdade deixa eu te explicar o que quero fazer ai se você puder já me dar um norte pra onde seguir agradeço muito, porque estou bem perdido. Seguinte, eu tenho um campo no caso um combobox com as opções de 1 a 40 o usuario vai selecionar um numero por exemplo 10 na hora que ele clicar em gerar vai gerar 10 textbox um embaixo do outro pra ele colocar alguns textos, depois que ele inserir os textos nos 10 campos irá clicar em um botão concluir que ira gravar estes valores inseridos. Será que você pode me falar o que e como vou desenvolver isso usando Javascript ? Da maneira que fiz abaixo, no console gera tudo certinho os campos (textbox) porém na tela do navegador não exibe nada, porque? desde já meu muito obrigado !

function gerar()

{
	 var selectqntm = document.getElementById("qntdm");

	 for (var i = 0; i < selectqntm.value; i++) {
	 	var input = document.createElement("input");
		input.setAttribute('type', 'text');
		console.log (input)
	 }

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá @Cláudio Rogério Jr tudo bem?

 

Eu havia visto seu tópico antes, mas não deu para sacar o que estava querendo fazer, uma vez que o primeiro código postado não tinha nada haver com o que tinha dito anteriormente.

Agora com as informações mais coesas posso responder...

Enfim, sobre a questão de gerar inputs através de um select group eu mesmo já ajudei numa questão dessa:

https://forum.imasters.com.br/topic/580084-abrir-novo-campo-ao-selecionar-opcao/?tab=comments#comment-2272163

 

 

5 horas atrás, Cláudio Rogério Jr disse:

porém na tela do navegador não exibe nada, porque?

No próprio post você vai achar a solução para isso, uma vez que você criou os elementos, mas não anexou eles (Eles existem só que pertencem só ao objeto document e não a algum elemento node):

 

 

5 horas atrás, Cláudio Rogério Jr disse:

depois que ele inserir os textos nos 10 campos irá clicar em um botão concluir que ira gravar estes valores inseridos

Deduzo, que você está falando de um formulário, então siga a lógica e coloque os elementos criados dentro de um form, ao qual você vai submeter os dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa amigo muito obrigado pela ajuda, tendo seu código de base consegui desenvolver o meu. só estou com problemas no loop mesmo que está gerando apenas 1 textbox ao inves de gerar o valor que foi definido no combobox. Acredito que esse seja um problema menor. Mais uma vez meu muito obrigado! 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara seguinte, a questão do loop e de gerar os campos já ta funcionando, tudo ok!

Minha outra dúvida,( só não crio em outro tópico pois se trata do mesmo assunto. ) como pego os valores dos campos que foram criados ? estou tentando pegar eles através de um loop porém só retorna o ultimo campo. Estou usando array pois futuramente se eu precisar me referir a um certo campo eu possa usar 'array_maquinas[indice] da maquina, espero que minha linha de raciocínio esteja correta. Enfim segue o código:

 

function concluir() {

		var array_maquinas = [];
		for (var i = 0; i < identificador; i++) {
		 	array_maquinas = novo.name;
		 	console.log(array_maquinas);
		 } 
	  	
		
	}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui temos a criação de uma array

var array_maquinas = [];

Porém aqui "array_maquinas" é rescrita como variável

array_maquinas = novo.name;

O que acontece é que a cada volta do loop a variável é definida com novo valor, ao final só vai ser o último valor atribuído;

Na pática seria

array_maquinas = 'Primeiro valor';

array_maquinas = 'Segundo valor que substitui o primeiro'; // Além que isso é erro de código

 

3 horas atrás, Cláudio Rogério Jr disse:

como pego os valores dos campos que foram criados ?

Mas se são input text, eles não tem valores quando criados, terão somente depois que algo é inserido neles.

 

De qualquer forma não vejo motivo para obter-los/identificar-los quando são criados, mas sim é possível e simples executar essa ação.

Você deve isolar a responsabilidade de cada coisa no código, uma é criar outra é identificar.

Como assim?

De criar então nós já sabemos não é... Então o que deve-se ser feito é detectar quando o loop termina, nesse caso a melhor opção é o while. Então quando o loop parar chamamos outra função que irá capturar os elementos (DEPOIS QUE JÁ FORAM CRIADOS).

Aí entra o "X" da questão, o que fazer com esses dados? Qual seria a finalidade de ter-los agora?

 

Podemos obter elementos de diversas formas, se fosse eu optaria quando criar cada elemento adicionar uma class CSS ao elemento, assim sendo basta buscar por elementos que tenha essa class.

 

#EDIT:

Sobre o lance do array

var loop = 5;
var array_maquinas = [];
for (var i = 0; i < loop; i++) {
    array_maquinas[i] = 'Alguma coisa';
    console.log(array_maquinas);
}

 

Sobre detectar voltas de loop ou até mesmo manipular

var parar_no_tres = false; // Coloque "true" e o loop é parado na volta 3
    
var loop = 5;
while (loop != 0) {
    loop--; //Retimanos 1 da variável a cada volta do loop
    console.log('Volta atual:' + loop);
    if (parar_no_tres && loop == 3) {
        console.log('Ops! Paramos na volta 3');
        break;
    }
}
if (loop == 0) {
    console.log('Terminou');
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixa eu te dar mais detalhes sobre o sistema que eu estou a desenvolver. É o seguinte o usuário vai ter essa parte de selecionar a quantidade de campos que sera gerado e depois que gerar ele vai colocar nome das maquinas que estão em sua empresa exemplo Fiscal-1, Pessoal-3, Contábil-1 e depois que colocar esses nomes clicara em um botão para armazenar estes nomes, pode ser em variáveis mesmo não quero me envolver com banco de dados para que o sistema fique bem simples. Depois que armazenar estes nomes preciso que o sistema crie em uma outra página web, um combobox com todos os nomes das maquinas que foram cadastrados na primeira página. Nessa nova página terá uma lista com varias opções que no caso estou usando o checkbox, e o usuário selecionaria as opções que gostaria que fossem aplicadas em cada maquina, por exemplo seleciono 5 checkbox, e embaixo do checkbox vai ter um combobox que listaria os nomes das maquinas ai o usuario teria que clicar nas maquinas que ele queria indicar essas opções e conforme ele fosse clicando nas maquinas o nome delas seriam exibido em uma label do lado para ele saber em quais maquinas está aplicando. E no final de tudo isso gerar um relatório seja em pdf ou em docx tanto faz, exibindo quais opções (checkbox) foram selecionadas e quais maquinas (combobox) foram selecionadas, basicamente é isto espero que tenha entendido o meu projeto, sei que não é nada fácil porém já tenho um pouco de experiencia com programação só que estou tendo meu primeiro contato com javascript agora por isso estou tendo tantas dúvidas, espero que me compreenda e se puder me dar um norte fico muito agradecido. De qualquer forma obrigado pela atenção! Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, como eu pensei, não havia necessidade de obter dados dos elementos gerados em sua criação.

Em 09/11/2018 at 10:34, Cláudio Rogério Jr disse:

não quero me envolver com banco de dados

Também seria desnecessário, uma vez que serão dados temporários sem utilidade a longo prazo.

 

Acontece aqui que temos de passar os valores de cada input para outra página, podemos usar um form, que ao submeter leva os dados para a próxima questão. Ao qual saímos de javascript e passamos para linguagem do servidor no caso do meu exemplo o PHP.

Efim, o conceito final da aplicação deixo a cargo de você, hora que só vou mostrar um coisa simples de criar os inputs, ao quais não sei quantos serão selecionados pelo usuário, ao ele enviar devo criar novos dados para para cada input que ele gerou.

De qualquer forma só conseguiria fazer se tivesse em mão ou pleno conhecimento do resultado final, por isso passo a bola para você e só vou mostrar o que fazer com os dados.

 

Nesse caso geramos os inputs e enviamos a outro arquivo e vemos o que chegou...

Spoiler

<select id="seletor">
    <option value="1">Criar 1 input</option>
    <option value="2">Criar 2 input</option>
    <option value="3">Criar 3 input</option>
</select>
<form id="formulario" method="post" action="outro_arquivo.php" target="_blank" style="display: none">
    <div class="colocar_input"></div>
    <button>Enviar</button>
</form>

<script>
    var seletor = document.getElementById('seletor');
    var form = document.getElementById('formulario');
    var colocar = form.getElementsByClassName('colocar_input')[0];
    var novo;
    var quantidade = 0;

    seletor.addEventListener('change', criarInputs, false);

    function criarInputs(e) {
        colocar.innerHTML = null; // Limpar os inputs caso o seletor seja alterado
        loop = (e.target).value;
        while (loop != 0) {
            loop--;
            novo = document.createElement('input');
            novo.type = 'text';
            novo.name = 'input_inserido[]';
            colocar.appendChild(novo);
        }
        form.style.display = 'block';
    }
</script>

 

 

Então esse é o arquivo PHP que enviei os dados


<?php
$post = filter_input_array(INPUT_POST, FILTER_DEFAULT);

echo ("Recebeu como POST <pre>");
var_dump($post);
echo ("</pre>");

$quantidade = count($post['input_inserido']);

echo ("A quantidade de índices na array \"input_inserido\" é  de {$quantidade} entradas<hr />");

foreach ($post['input_inserido'] as $value) {
    echo ("<p>{$value}</p>"); // Aqui você faz o que quiser com os valores
}

 

 

Veja o que consegue fazer aí, qualquer coisa crie um tópico na sessão de PHP, talvez mais alguém possa lhe orientar melhor.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 11/11/2018 at 02:01, Omar~ disse:

Bem, como eu pensei, não havia necessidade de obter dados dos elementos gerados em sua criação.

Também seria desnecessário, uma vez que serão dados temporários sem utilidade a longo prazo.

 

Acontece aqui que temos de passar os valores de cada input para outra página, podemos usar um form, que ao submeter leva os dados para a próxima questão. Ao qual saímos de javascript e passamos para linguagem do servidor no caso do meu exemplo o PHP.

Efim, o conceito final da aplicação deixo a cargo de você, hora que só vou mostrar um coisa simples de criar os inputs, ao quais não sei quantos serão selecionados pelo usuário, ao ele enviar devo criar novos dados para para cada input que ele gerou.

De qualquer forma só conseguiria fazer se tivesse em mão ou pleno conhecimento do resultado final, por isso passo a bola para você e só vou mostrar o que fazer com os dados.

 

Nesse caso geramos os inputs e enviamos a outro arquivo e vemos o que chegou...

  Ocultar conteúdo


<select id="seletor">
    <option value="1">Criar 1 input</option>
    <option value="2">Criar 2 input</option>
    <option value="3">Criar 3 input</option>
</select>
<form id="formulario" method="post" action="outro_arquivo.php" target="_blank" style="display: none">
    <div class="colocar_input"></div>
    <button>Enviar</button>
</form>

<script>
    var seletor = document.getElementById('seletor');
    var form = document.getElementById('formulario');
    var colocar = form.getElementsByClassName('colocar_input')[0];
    var novo;
    var quantidade = 0;

    seletor.addEventListener('change', criarInputs, false);

    function criarInputs(e) {
        colocar.innerHTML = null; // Limpar os inputs caso o seletor seja alterado
        loop = (e.target).value;
        while (loop != 0) {
            loop--;
            novo = document.createElement('input');
            novo.type = 'text';
            novo.name = 'input_inserido[]';
            colocar.appendChild(novo);
        }
        form.style.display = 'block';
    }
</script>

 

 

Então esse é o arquivo PHP que enviei os dados



<?php
$post = filter_input_array(INPUT_POST, FILTER_DEFAULT);

echo ("Recebeu como POST <pre>");
var_dump($post);
echo ("</pre>");

$quantidade = count($post['input_inserido']);

echo ("A quantidade de índices na array \"input_inserido\" é  de {$quantidade} entradas<hr />");

foreach ($post['input_inserido'] as $value) {
    echo ("<p>{$value}</p>"); // Aqui você faz o que quiser com os valores
}

 

 

Veja o que consegue fazer aí, qualquer coisa crie um tópico na sessão de PHP, talvez mais alguém possa lhe orientar melhor.

 

Muito obrigado amigo, muito boa a explicação já deu pra ter uma boa noção do que vou precisar. Bom, vou ver o que consigo fazer, Abraços !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por Thiago Duarte
      Oi, gostaria de arrastar imagem e ao soltar formar bloco html, meu bloco de html ficaria com nome, content-1.html, content-2.html, etc
       
      Alguem pode me ajudar?
    • Por belann
      Olá!
       
      Estou fazendo o upload de arquivos com fetch dessa forma
      fetch(url, {
              method: 'POST',
              headers: {'Content-Type': 'multipart/form-data',},
              body: formData 
          }).catch((error) => (console.log("Problemas com o Upload"), error));
       
      estou usando input type=file
      e criando uma const formData = new FormData(); 
      mas não faz e não dá nenhum erro.
      estou fazendo o upload com a url="http://localhost/dashboard/dados".
    • Por joeythai
      Boa tarde pessoal,
       
      Eu criei um formulário em que tenho 3 interações: evento click, change e uma chamada ajax. No evento on change ("select#removal_table_from" )eu faço uma chamada ajax onde eu passo como parametro o id do item selecionado e construo uma tabela dinamica com o próprio javascript, após isto, tenho um input em que o usuario coloca um valor de percentual para que eu possa preencher em 3 colunas da tabela que foi criada dinamicamente: moto_atualizado, carro_atualizado e caminhao_atualizado, até aí tudo bem, o codigo está fazendo isso, porém, como a tabela é criada dinamicamente eu preciso de alguma forma enviar o arrayData para meu backend mas quando faço o calculo dentro do loop apos resposta do meu ajax, os valores desses 3 campos chegam como null, não sei se é possível fazer o que pretendo ou se é ainda não sei como faz
       
      <code>
           $(document).ready(function (event) {   let arrayData = []; let percentage; let removal_vehicle; let removal_motorcycle; let removal_tuck; let apply_removal = $('#apply_removal');   // apply_removal.on('click', function () { // percentage = $('#percentage').val();   // $('.table-body tr').each(function () {   // let veiculo = $(this).find('.veiculo').text(); // let moto = $(this).find('.moto').text(); // let caminhao = $(this).find('.caminhao').text();   // let removal_vehicle = parseFloat(veiculo) + (parseFloat(veiculo) * parseFloat(percentage)) / 100; // let removal_motorcycle = parseFloat(moto) + (parseFloat(moto) * parseFloat(percentage)) / 100; // let removal_tuck = parseFloat(caminhao) + (parseFloat(caminhao) * parseFloat(percentage)) / 100;   // arrayData.push({ // removal_vehicle, // removal_motorcycle, // removal_tuck // })   // $(this).find('.veiculo_atualizado').val(removal_vehicle.toFixed(2)); // $(this).find('.moto_atualizado').val(removal_motorcycle.toFixed(2)); // $(this).find('.caminhao_atualizado').val(removal_tuck.toFixed(2)); // }); // });   apply_removal.on('click', function () { percentage = $('#percentage').val();   $('.table-body tr').each(function () {   let veiculo = $(this).find('.veiculo').text(); let moto = $(this).find('.moto').text(); let caminhao = $(this).find('.caminhao').text();   removal_vehicle = parseFloat(veiculo) + (parseFloat(veiculo) * parseFloat(percentage)) / 100; removal_motorcycle = parseFloat(moto) + (parseFloat(moto) * parseFloat(percentage)) / 100; removal_tuck = parseFloat(caminhao) + (parseFloat(caminhao) * parseFloat(percentage)) / 100;   arrayData.push({ removal_vehicle, removal_motorcycle, removal_tuck })   $(this).find('.veiculo_atualizado').val(removal_vehicle.toFixed(2)); $(this).find('.moto_atualizado').val(removal_motorcycle.toFixed(2)); $(this).find('.caminhao_atualizado').val(removal_tuck.toFixed(2));     console.log('Removal Vehicle:', removal_vehicle); console.log('Removal Motorcycle:', removal_motorcycle); console.log('Removal Truck:', removal_tuck); }); });   $('select#removal_table_from').on('change', function (e) { let table_id = $(this).val(); let action = route('removal.removal-values.show', table_id);   $.ajax({ type: "GET", url: action, headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },   success: function (data) { $('.table-body').empty();   for (let i = 0; i < data.length; i++) { let carro = parseFloat(data[i].CARRO); let moto = parseFloat(data[i].MOTO); let caminhao = parseFloat(data[i].CAMINHAO); let distancia = data[i].DISTANCIA; let origem = data[i].ORIGEM; let destino = data[i].DESTINO; let localidadeOrigem = data[i].LocalidadeOrigem_ID; let localidadeDestino = data[i].LocalidadeDestino_ID;   let newRow = '<tr class="removal-row">' + '<td class="align-middle">' + '<div class="row">' + '<div class="col-1">' + '<span class="font-weight-bold">Origem</span><br>' + '<span class="origem">' + origem + '</span>' + '</div>' + '<div class="col-1">' + '<span class="font-weight-bold">Destino</span><br>' + '<span class="destino">' + destino + '</span>' + '</div>' + '<div class="col-1">' + '<span class="font-weight-bold">KM</span><br>' + '<span class="km">' + distancia + '</span>' + '</div>' + '<div class="col-1">' + '<span class="font-weight-bold">Veículo</span><br>' + '<span class="veiculo">' + carro + '</span>' + '</div>' + '<div class="col-2">' + '<span class="font-weight-bold">Veículo Atualizado</span><br>' + '<input type="text" class="veiculo_atualizado">' + '</div>' + '<div class="col-1">' + '<span class="font-weight-bold">Moto</span><br>' + '<span class="moto">' + moto + '</span>' + '</div>' + '<div class="col-2">' + '<span class="font-weight-bold">Moto Atualizado</span><br>' + '<input type="text" class="moto_atualizado">' + '</div>' + '<div class="col-1">' + '<span class="font-weight-bold">Caminhão</span><br>' + '<span class="caminhao">' + caminhao + '</span>' + '</div>' + '<div class="col-2">' + '<span class="font-weight-bold">Caminhão Atualizado</span><br>' + '<input type="text" class="caminhao_atualizado">' + '</div>' + '</div>' + '</div>' + '</td>' + '</tr>';   $('.table-body').append(newRow); //let row = $('.removal-row:last');   // Calcula o valor atualizado e define nos campos diretamente // let veiculo_atualizado = carro + (carro * percentage) / 100; // let moto_atualizado = moto + (moto * percentage) / 100; // let caminhao_atualizado = caminhao + (caminhao * percentage) / 100; // console.log('PORCENTS: ', percentage); //console.log('Veiculo Atualizado:', veiculo_atualizado, 'Moto Atualizado:', moto_atualizado, 'Caminhao Atualizado:', caminhao_atualizado);   // Define os valores diretamente nos campos da nova linha // row.find('.veiculo_atualizado').val(veiculo_atualizado.toFixed(2)); // row.find('.moto_atualizado').val(moto_atualizado.toFixed(2)); // row.find('.caminhao_atualizado').val(caminhao_atualizado.toFixed(2));   arrayData.push({ carro, moto, caminhao, distancia, origem, destino, localidadeOrigem, localidadeDestino, removal_vehicle, removal_motorcycle, removal_tuck }); }   $('#copy_data_table').val(JSON.stringify(arrayData)); }   }); });   //javascript para o formulario de cadastro // $(document).ready(function (event) { $('#uf').change(function () { let code_city = $(this).val(); let deposit = localStorage.getItem('selected_deposit_id'); let action = route('removal.removal-values.cities', code_city); $.ajax({ type: "POST", url: action, headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, data: { code_city: code_city },   success: function (data) {   $('#city').empty(); $('#deposit').empty();   for (let i = 0; i < data.cities.length; i++) { $('#city').append('<option value="' + data.cities[i].NM + '">' + data.cities[i].NM + '<option>'); }   if (data.deposits.length > 0) { for (let i = 0; i < data.deposits.length; i++) { $('#deposit').append('<option value="' + data.deposits[i].NM + '">' + data.deposits[i].NM + '<option>'); } } else { // $('#deposit').prop('disabled', true); // $('#city').prop('disabled', false); }   $('#city').trigger('change'); } });   });   $('#deposit').on('change', function () { depositId = $(this).val(); localStorage.setItem('selected_deposit_id', depositId); });   $('#uf_destiny').change(function () { let code_city = $(this).val(); let depositDestiny = localStorage.getItem('selected_deposit_destiny_id'); let action = route('removal.removal-values.cities', code_city); $.ajax({ type: "POST", url: action, headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, data: { code_city: code_city },   success: function (data) {   $('#city_destiny').empty(); $('#deposit_destiny').empty();   for (let i = 0; i < data.cities.length; i++) { $('#city_destiny').append('<option value="' + data.cities[i].NM + '">' + data.cities[i].NM + '</option>'); }   if (data.deposits.length > 0) { // $('#deposit_destiny').prop('disabled', false); //$('#city_destiny').empty(); // $('#city_destiny').prop('disabled', true); for (let i = 0; i < data.deposits.length; i++) { $('#deposit_destiny').append('<option value="' + data.deposits[i].NM + '">' + data.deposits[i].NM + '</option>'); } } else { // $('#deposit_destiny').prop('disabled', true); // $('#city_destiny').prop('disabled', false); }   $('#city_destiny').trigger('change'); } }); });   $('#deposit_destiny').on('change', function () { let depositDestinyId = $(this).val(); localStorage.setItem('selected_deposit_destiny_id', depositDestinyId); });   }); </code>
    • Por gersonab
      Bom dia a todos, estou usando o datatable com uma consulta mysql e funciona 100% , meu único problema é na hora que eu exporto para pdf, este não vem com sua largura da tabela exportada em 100%, dependendo da situação ocupa apenas 30% da página, infelizmente após varias pesquisas ainda não encontrei uma forma de fazer.
      segue meu código de forma simples:
      $('#exportar').DataTable( { language: { url: '//cdn.datatables.net/plug-ins/1.13.7/i18n/pt-BR.json', }, dom: 'Bfrtip', order: [[ 0, 'desc' ]], buttons: [ 'pdfHtml5' ] } ); desde já agradeço toda ajuda possível
×

Informação importante

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