none
Pegar texto de dropdownlist com Javascript RRS feed

  • Pergunta

  • Boa tarde pessoal!

    Como faço para carregar o texto de um dropdownlist em um javascript?

    Preciso deste campo para inserir um if no script.

    segunda-feira, 1 de abril de 2013 19:13

Respostas

  • Nesse Caso você tem que usar a função onchange do javascript , creio eu que sua aplicação inicia com o DropDown carregado dái usando o onchange, você faz

    o código desejada . ex :

    <script type="text/javascript">
    
    var d = document;
    
    
    window.onload = function(){
    
    
    
    d.getElementById("txtSomenteNumero").style.display = "none";
    
    d.getElementById("txtTexto").style.display = "none";
    
    }
    
    
    function fnDispara(obj)
    {
    
     if(obj.value == "S")
    {
    
    
    alert("Opção inválida");
    
    }
    else if(obj.value == "T")
    {
    
    d.getElementById("txtTexto").style.display = "block";
    
    d.getElementById("txtSomenteNumero").style.display = "none";
    }
    else
    {
    d.getElementById("txtSomenteNumero").style.display = "block";
    
    d.getElementById("txtTexto").style.display = "none";
    }
    
    
    
    }
    
    
    
    </script>
    
    
    ..................
    
    <asp:DropDownList ID="ddlLista" runat="server" onchange="fnDispara(this.id);return false">
    <asp:Item Text="Selecione" Value="S" />
    <asp:Item Text="Número" Value="N" />
    <asp:Item Text="Texto" Value="T" />
    </asp:DropDownList>
    
    <asp:TextBox ID="txtSomenteNumero" runat="server"  />
    <asp:TextBox ID="txtTexto" runat="server" />

    Lembrando que isso poderia ser feito via behind mas o foco no momento é fazer isso em javascript , espero ter ajudado.


    Davi Murilo Referência Principal : Jesus que ilumina minha mente.
    Referência Profissonal : http://www.tidm.com.br

    • Marcado como Resposta TBevilacqua terça-feira, 2 de abril de 2013 15:50
    segunda-feira, 1 de abril de 2013 20:14

Todas as Respostas

  • Boa tarde

     Se  na sua aplicação tiver o controle  dropdownlist tente isso :

    <script type="text/javascript">
    
    
    function CarregaTudo(obj)
    
    {
    
    var Total = obj.length;
    
    var Todos = "";
    
    for(i = 0 ; i <Total ; i++)
    
    {
    
         Todos += "Valor : " + obj.options[i].value  + " - Texto : " + obj.options[i].innerHTML + " ";
    
    }
    
    
    alert(Todos);
    
    
    }
    
    </script>
    
    ........
    
    
    <%-- Supondo que já está carregado via behind --%>
    
    <asp:DropDownList runat="server" ID="ddlLista">
    
    </asp:DropDownList>
    
    
    <button id="btnVerLista" onclick='CarregaTudo("<% =ddlLista.ClientID %>");'> Carrega JS </button>

    Espero ter ajudado


    Davi Murilo Referência Principal : Jesus que ilumina minha mente.
    Referência Profissonal : http://www.tidm.com.br


    • Editado Davi Murilo segunda-feira, 1 de abril de 2013 19:33
    segunda-feira, 1 de abril de 2013 19:31
  • Para pegar o valor de um campo em JS, usa-se o "val", exemplo.
    $("#NomeCampo").val()


    Paulo Marcelo Dalbosco

    segunda-feira, 1 de abril de 2013 19:35
  • Só  para constar  que o nosso amigo Paulo está lhe dando o exemplo com Jquery , e eu estou lhe dando o exemplo com javascript puro.

    Davi Murilo Referência Principal : Jesus que ilumina minha mente.
    Referência Profissonal : http://www.tidm.com.br

    segunda-feira, 1 de abril de 2013 19:37
  • Obrigado pela ajuda Davi, realmente estou utilizando javascript puro.

    Porem preciso que seja em tempo de execução.

    O cenário é o seguinte ao selecionar a opção no dropdownlist preciso definir se no textbox ao lado, vai aceitar numeros decimais ou inteiros...

    para assim q digitado o numero o textbox ja estar no formato.

    segunda-feira, 1 de abril de 2013 19:58
  • Nesse Caso você tem que usar a função onchange do javascript , creio eu que sua aplicação inicia com o DropDown carregado dái usando o onchange, você faz

    o código desejada . ex :

    <script type="text/javascript">
    
    var d = document;
    
    
    window.onload = function(){
    
    
    
    d.getElementById("txtSomenteNumero").style.display = "none";
    
    d.getElementById("txtTexto").style.display = "none";
    
    }
    
    
    function fnDispara(obj)
    {
    
     if(obj.value == "S")
    {
    
    
    alert("Opção inválida");
    
    }
    else if(obj.value == "T")
    {
    
    d.getElementById("txtTexto").style.display = "block";
    
    d.getElementById("txtSomenteNumero").style.display = "none";
    }
    else
    {
    d.getElementById("txtSomenteNumero").style.display = "block";
    
    d.getElementById("txtTexto").style.display = "none";
    }
    
    
    
    }
    
    
    
    </script>
    
    
    ..................
    
    <asp:DropDownList ID="ddlLista" runat="server" onchange="fnDispara(this.id);return false">
    <asp:Item Text="Selecione" Value="S" />
    <asp:Item Text="Número" Value="N" />
    <asp:Item Text="Texto" Value="T" />
    </asp:DropDownList>
    
    <asp:TextBox ID="txtSomenteNumero" runat="server"  />
    <asp:TextBox ID="txtTexto" runat="server" />

    Lembrando que isso poderia ser feito via behind mas o foco no momento é fazer isso em javascript , espero ter ajudado.


    Davi Murilo Referência Principal : Jesus que ilumina minha mente.
    Referência Profissonal : http://www.tidm.com.br

    • Marcado como Resposta TBevilacqua terça-feira, 2 de abril de 2013 15:50
    segunda-feira, 1 de abril de 2013 20:14
  • Cara,

    JavaScript é uma ótima opção, porém seguindo a ideia do Paulo você terá muito menos códigos escritos utilizando JQuery e que não deixa de ser JavaScript.

    Você só vai precisar adicionar as bibliotecas básicas no seu projeto:

    http://jquery.com/download/

    http://jqueryui.com/download/

    http://jquerybrasil.org/download/

    E logo em seguida já pode começar a escrever o código do JQuery no html.

    http://jquery.com/

    http://jqueryui.com/

    http://jquerybrasil.org/


    Atenciosamente, Samuel dos Anjos

    segunda-feira, 1 de abril de 2013 23:42
  • Usar o JQuery evita problemas com compatibilidade dos navegadores.

    Paulo Marcelo Dalbosco

    terça-feira, 2 de abril de 2013 14:45
  • Obrigado pelas respostas!

    Consegui resgatar o valor do campo me baseando no código q o Davi passou. 

    Porem achei interessante e ja estou aprendendo e utilizando JQuery.

    terça-feira, 2 de abril de 2013 15:50