Ir para conteúdo

POWERED BY:

Arquivado

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

murilomlb

[Resolvido] selected item nao pega valor do dropdownlist

Recommended Posts

Olá,

 

Eu tenho dois dropdownlist:

 

Estado e Cidade

 

O Estado eu não carrego ele, os dados são estáticos...

 

Mas o da cidade eu carrego do bd, mas eu estou usando JQuery para fazer o processo, mas quando vou salvar no bd o id da cidade, aparece um erro de que o drop da cidade está nulo!.

 

Vou postar o Codigo em jquery que uso para carregar o drop:

 

function GetCidades(genderID) {

   if (genderID != "0") {     
     $("#DropDownListCidade").get(0).options.length = 0;
     $("#DropDownListCidade").get(0).options[0] = new Option("aguarde...", "-1");

     $.ajax({
       type: "POST",
       url: "../Controle/ListaCidades.aspx/GetCidades",
       data: "{genderID:'" + genderID + "'}",
       contentType: "application/json; charset=utf-8",
       dataType: "json",
       success: function (msg) {

         $("#DropDownListCidade").get(0).options.length = 0;
         $("#DropDownListCidade").get(0).options[0] = new Option("Selecione uma Cidade", "0");
         $.each(msg.d, function (index, item) {
           $("#DropDownListCidade").get(0).options[$("#DropDownListCidade").get(0).options.length] = new Option(item.Nome, item.IdCidade);
         });
         $("#DropDownListCidade").focus();
       },
       error: function () {
         $("#DropDownListCidade").get(0).options.length = 0;
         alert('tente novamente!');
       }
     });
   }
   else {
     $("#DropDownListCidade").get(0).options.length = 0;

   }
 }
 $("#DropDownListEstado").bind("change", function () {
   GetCidades($(this).val());
 });

 

 

Por que eu nao consigo pegar o id do drop selecionado quando eu carrego ele com jquery??

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites
aparece um erro de que o drop da cidade está nulo!.

poste o erro exatamente como ele aparece.

 

analise com o Firebug(Firefox), ou com o Inspect do Chrome, se o teu select está sendo formado corretamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu analizei e está formatado corretamente, mas o erro é na hora de pegar o item no código c#, pois parece que ele nao consegue pegar o item selecionado porque o drop foi carregado com jquery e não via código c#.

Tem alguma solução?

Compartilhar este post


Link para o post
Compartilhar em outros sites

rapaz.. para o server-side, não importa se você gerou ou não com javascript.

 

poste uma imagem ou o html gerado que você viu no Firebug para analisarmos.

e mostre como você está tentando receber.

Compartilhar este post


Link para o post
Compartilhar em outros sites

rapaz.. para o server-side, não importa se você gerou ou não com javascript.

 

poste uma imagem ou o html gerado que você viu no Firebug para analisarmos.

e mostre como você está tentando receber.

 

abaixo a imagem do html pelo fire bug

http://imageshack.us/photo/my-images/847/dropd.jpg/

 

eu estou tentando pegar o valor do drop assim:

dropdownlistcidade.selecteditem.value

eu falei que pode ser por causa do jquery pois o estado pega normalmente, e o estado eu nao carrego por jquery!

Compartilhar este post


Link para o post
Compartilhar em outros sites

essa linha de codigo aqui:

dropdownlistcidade.selecteditem.value

está onde ? no c# ?

 

está faltando o atributo name no select que você gerou.

e cuidado com cAsE SEnSiTiVE

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso que eu postei foi um exemplo!

eu pego o value do DropDownList assim:

DropDownListCidade.SelectedItem.Value

e sim, está no c#

e se eu quiser pegar o nome é:

DropDownListCidade.SelectedItem.Text

ambos não da certo

se eu carregar o drop via código c#, eu consigo pegar o value, mas com ajax não consigo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Okay, mas você notou que no html que você mostrou do Firebig, o select está sem o atributo name ?

coloque ele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Okay, mas você notou que no html que você mostrou do Firebig, o select está sem o atributo name ?

coloque ele.

cara, esquece o firebug!!!!!!!!!

esse projeto está em asp.net e esse select é um DropDownList!(um controle do asp.net)

Não tem como eu pegar o value do DropDownList com esse atributo name que você está falando.

Acho que fiz essa pergunta em um fórum errado, desculpe.

Melhor eu fazer essa pergunta em outro lugar.

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigão..

 

as linguagens server-side, trabalham apartir do atributo name dos objetos.

 

a tua tag select está assim:

<select id="" class="" style="">

 

ou seja, não está enviando nada, pois deveria estar assim:

<select name="AlgumValorAqui" id="" class="" style="">

 

Enfim.. a escolha é tua.. pode bater cabeça por ai, se não tiver disposto a fazer a correção que estou sugerindo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E porque eu consigo fazer o que eu quero com o drop do Estado?? e com todos os outros controles que eu sempre usei em todos os projetos que fiz?

se quiser eu posto a imagem do drop do Estado, pois está idêntico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

leia, por favor:

use o Responder Azul respondery.png

ou a 'Resposta Rápida'.

qndo você clica no [Responder] que fica embaixo do meu post, você faz um quote automático do meu post.

isso suja o tópico, pois você não o fez intencionalmente, e nem com um propósito.

 

 

pq eles possuem o name provavelmente.

 

verifique ai se você duvida de mim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está usando o dropdownlist do .NET? pois se tiver usando do HTML é diferente

 

Tente resgatar assim:

Request.Form["DropDownList1"].ToString()

 

ou assim:

DropDownList1.SelectedValue

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.