Jump to content


Photo

Criando Elementos Html Dinamicamente


  • Faça o login para participar
4 replies to this topic

#1 bryntec

bryntec

    Turista

  • Usuários
  • 46 posts
  • Sexo:Masculino
  • Localidade:Brasil

Posted 07/03/2010, 14:49

Pessoal, eu uso o innerHTML para criar elementos html via javascript.

No exemplo abaixo, ele adiciona linhas numa tabela, quando clico num botão.

Só que em vez de adicionar uma de cada vez, eu quero adicionar uma quantidade X previamente definida num input select, com opções de 1 a 50, por exemplo, e se eu clico no número 40, ele retorna 40 linhas na tabela, mas se eu mudar de idéia e escolher o número 20, ele apaga as 40 e retorna 20 linhas na tabela. Alguém sabe como fazer isso ? Obrigado.

SCRIPT
<script language="JavaScript">
totals = 1;
function add_passageiro(){
totals++

tbl = document.getElementById("tabela_dinamica")

var novaLinha = tbl.insertRow(-1);
var novaCelula;

if(totals%2==0) cl = "#e8f1ed"; else cl = "#f9f9f9";

novaCelula = novaLinha.insertCell(0);
novaCelula.style.backgroundColor = cl

novaCelula.innerHTML = 'texto da coluna 1';

novaCelula = novaLinha.insertCell(1);
novaCelula.align = "left";
novaCelula.style.backgroundColor =cl;
novaCelula.innerHTML = 'texto da coluna 2';

novaCelula = novaLinha.insertCell(2);
novaCelula.align = "left";
novaCelula.style.backgroundColor =cl;
novaCelula.innerHTML = 'texto da coluna 3';
}
</script>

HTML
<input type="button" value="Add" class="submit" onclick="add_passageiro()"/>
<table class="tb" id="tabela_dinamica">
</table>

Edição feita por: bryntec, 07/03/2010, 14:51.

bryntec.com | Design e Programação Web

#2 Renan L. Queiroz

Renan L. Queiroz

    Mestre

  • Usuários
  • 690 posts
  • Sexo:Masculino
  • Localidade:Brasilia - DF

Posted 08/03/2010, 10:38

Ta ai uma modificação do seu script:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

    <head>

        <title> Linhas de Tabela </title>

        <script language="Javascript">

            var totals = 1;
            var blnFlag = true;

            function add_passageiro(){

                var linhas = document.getElementById('txtAddLinhas');

                if (blnFlag){
                
                    var tbl = document.getElementById('tabela_dinamica');

                    for (i = 0; i < linhas.value; i++){   

                        totals++;

                        var novaLinha = tbl.insertRow(-1);
                        var novaCelula;

                        if(totals%2==0) cl = '#e8f1ed'; else cl = '#f9f9f9';

                        novaCelula = novaLinha.insertCell(0);
                        novaCelula.style.backgroundColor = cl
                        novaCelula.innerHTML = i+1;

                        novaCelula = novaLinha.insertCell(1);
                        novaCelula.style.backgroundColor = cl
                        novaCelula.innerHTML = 'texto da coluna 1';

                        novaCelula = novaLinha.insertCell(2);
                        novaCelula.align = 'left';
                        novaCelula.style.backgroundColor =cl;
                        novaCelula.innerHTML = 'texto da coluna 2';

                        novaCelula = novaLinha.insertCell(3);
                        novaCelula.align = 'left';
                        novaCelula.style.backgroundColor =cl;
                        novaCelula.innerHTML = 'texto da coluna 3';
                    }
                    blnFlag = false;
                }
                linhas.value = '';
            }

            function remove_passageiro(){

                var tbl = document.getElementById('tabela_dinamica');
                var linhas = document.getElementById('txtRemoveLinhas');

                if (linhas.value <= tbl.rows.length){
                
                    for (i = 0; i < linhas.value; i++){

                        var linhasTbl = tbl.rows.length;
                        if (linhasTbl > 0) tbl.deleteRow(linhasTbl - 1);
                    }
                }

                if (linhasTbl == 1)  blnFlag = true;
                linhas.value = '';
            }

        </script>

    </head>

    <body>

        <input type="text" id="txtAddLinhas" size="1" maxlength="3"> Linhas - 
        <input type="button" value="Adicionar" class="submit" onclick="add_passageiro()"/><br />
        <table class="tb" id="tabela_dinamica"></table><br />
        <input type="text" id="txtRemoveLinhas" size="1" maxlength="3"> Linhas - 
        <input type="button" value="Remover" class="submit" onclick="remove_passageiro()"/><br />

    </body>

</html>
Seria legal simplificar o mesmo!! ;-)

Especialidade: Desenvolvimento e Banco de Dados.


Este post lhe ajudou? Agradeça: Posted Image


#3 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 19/09/2017, 05:05

Acheter Viagra Canada online pharmacy Next Day Pills Com Viagra Online Canada
Como Comprar Levitra Suhagra Review
Cialis 20 Mg Duree <a href=http://cialtobuy.com>cialis buy online</a> Generique Lioresal En Canada
Priligy 60 Mg Posologia cheap cialis Compra Kamagra Online Cialis Yeux Viagara Cyntra Viagara Radio Commercials cialis Levitra 20 Mg Bayer

#4 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 04/10/2017, 23:59

Levitra Overnight Delivery viagra Cialis Maxman
Cheap Dutasteride Best Website Medication Cod Accepted Amoxicillin Abdominal Painin Children Cialis Y El Corazon generic viagra levitra Levitra Bayer Preise
Albuterol Without Script viagra prescription Retin A Without A Prescription Viagra En La Red Efectos Del Viagra En El Hombre

#5 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 31/10/2017, 13:48

Dutasteride 0.5mg Tyneside buy viagra online Listino Prezzi Cialis Metamucil With Amoxicillin Cephalexin And Alcoholic Beverages Interaction
Viagra In Portugal Kaufen Propecia Oferta Propecia Treatment Hair Loss generic viagra Propecia Generico Farmacia Where To Buy Stendra




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq