Inquiridor
AutoPostBack de DropDownList não funciona junto com J-Query!

Pergunta
-
Olá amigos, estou desenvolvendo uma tela para um sistema web que estou fazendo e estou com o seguinte problema:
Coloquei um J-Query chamado DropKick para deixa meu dropdownlist mais elegante e ele realmente fica. Porém, eu preciso ativar uma série de métodos e eventos toda vez que é feito uma mudança na opção selecionada no dropdownlist. Criei o evento SelectedIndexChange e ativei o AutoPostBack do DropDownList. Porém, mesmo assim, quando eu mudo as opções do DropDownList, ele não realiza o autopostback, e então não faz as coisas que eu precisava fazer. Alguem tem alguma solução?
Esse é o site da J-Query:
Todas as Respostas
-
-
Você poderia colocar o código deste DropDownList para analisarmos ??
Você este usando de UpdatePanel na sua pagina ??Vitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/ -
Amigo,
Se você utilizar um debug para visualizar o código que foi gerado após o load da página, você vai notar que esse seu select foi oculto e virou um div e as opções uma tag <a>, isso é comum nesses plugins que alteram o layout do select.
Solução
O ideal antes de utilizar qualquer plugin é ler a documentação e testar os códigos de exemplo, estou falando isso por que eu baixei o plugin e no pacote veio a solução que você precisa. O terceiro "select" do arquivo de exemplo, utiliza uma class que já é auto explicativa ".existing_event" que vai ativar o seguinte evento:
$('.existing_event').dropkick({ change: function () { $(this).change(); } });
Esse script vai utilizar o próprio evento que está relacionado ao seu DropDrown que seria o postback.
Espero que você tenha entendido e se tiver mais alguma dúvida é só postar!
Boa sorte!
Não esqueça de marcar como útil uma resposta que te ajude.
"A diversão é a alma do negócio" -
Eu entendi o que vc quis dizer, porém não estou conseguindo executar isso.
Gostaria que desse uma olhada e visse se realmente está certo:
<script type="text/javascript" language="javascript"> $(document).ready(function () { $('.default').dropkick(); }); $('.existing_event').dropkick({ change: function () { $(this).change(); } }); </script>
<asp:DropDownList ID="ddrArquivo" Visible = "true" Class="default" AutoPostBack = "true" runat="server"> </asp:DropDownList>
ddrArquivo.AutoPostBack = true;
void ddrArquivo_SelectedIndexChanged(object sender, EventArgs e) { for (int x = 0; x <= 10; x++) { panelarquivista.Visible = true; lstArquivistas.Items.Add(x.ToString()); } }
Desculpe por colocar muitos códigos, e agradeço já pela ajuda de vocês!
-
Amigo,
Só para explicar um pouco...jquery possui várias formas de localizar um objeto as mais utilizadas não por CLASS e ID ex.:
".nome-da-class-css" procura por elementos com o nome da class css que você indicou
"#id" procura pelo ID do objetoComo em .NET as vezes o ID é uma combinação de coisas infelizmente não da para utilizar então a gente utiliza o CLASS para fazer isso. Nesse caso o código que você postou ainda continua errado, por que no DropDown você está utilizando a CLASS="DEFAULT" que vai associar o seguinte código JS ao elemento:
$(document).ready(function () { $('.default').dropkick(); });
Para o seu código funcionar você deve mudar o código do DropDown para:
<asp:DropDownList ID="ddrArquivo" Visible = "true" Class="existing_event" AutoPostBack = "true" runat="server"> </asp:DropDownList>
Espero que você tenha entendido.
Boa sorte!
Não esqueça de marcar como útil uma resposta que te ajude.
"A diversão é a alma do negócio" -
-
acredito que ele não vai aparecer pq o seu css está todo como ".default" o correto seria você manter o seu código do jeito que está e fazer o seguinte:
$('.default').dropkick({ change: function () { $(this).change(); } });
Boa sorte!
Não esqueça de marcar como útil uma resposta que te ajude.
"A diversão é a alma do negócio" -
-
Amigo,
Lendo o seu código novamente encontrei mais um erro...está faltando o "onselectedindexchanged" no seu dropdown!
Para testar se está tudo funcionando tire o dropkick, teste tudo e veja se está rolando, depois coloque o dropclick.Boa sorte!
Não esqueça de marcar como útil uma resposta que te ajude.
"A diversão é a alma do negócio" -
-
Sem o J-Query ele funciona perfeito através do evento void DropDownList1_SelectedIndexChanged(object sender, EventArgs e).
Porém, quando eu aplico a J-Query ele deixa de funcionar...Aonde iria este "onselectedindexchanged"?
Certamente este plugin substitui o evento onchange que dispara o seu DropdownList1_SelectedIndexChanged(), tudo isso no cliente, veja se no seu dropdownlist (elemtno select no html) contem algo do tipo assim no evento onchange:
onchange="javascript:setTimeout('__doPostBack(\'
Vitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/ -