Usuário com melhor resposta
Disparar evento quando um DropDownList perder o foco

Pergunta
-
Bom dia pessoal,
Eu tenho um DropDownList de UF e um DropDownList de cidade.
O DropDownList de cidade é carregado através da seleção do DropDownList de UF.
Como faço para quando o DropDownList de UF perder o foco, carregar o DropDownList de cidade?
Tem como fazer isso usando javaScript?
Aguardo a ajuda de vocês.
Obrigada!
Respostas
-
<asp:DropDownList runat="server" ID="myListDropDown" autopostback="true" CssClass="text" OnSelectedIndexChanged="myListDropDown_Change" />
protected void myListDropDown_Change(object sender, EventArgs e) { seu evento. }
Se a resposta foi útil por favor qualifique. Italo Biguzi Duarte, Desenvolvedor ASP.NET C#, Italo.biguzzi@gmail.com
- Marcado como Resposta Jamille Moreira quinta-feira, 27 de fevereiro de 2014 18:50
Todas as Respostas
-
-
-
Cara eis o código, porém seria mais legal se fizer no onchange.
<p> <select name="ddl1" id="ddl1"> <option value="0">Selecione</option> <option value="1">Valor 1</option> <option value="2">Valor 2</option> <option value="3">Valor 3</option> </select> <br /> <select name="ddl2" id="ddl2"> </select> </p>
<script language="javascript" type="text/javascript"> $(document).ready(function () { //$("#ddl1").blur(function (e) { // $('#ddl2').find("option").remove(); // // var options = ""; // for (var i = 0; i < $(this).val() ; i++) { // options += '<option value="'+ i.toString() +'">Este é o valor '+ i.toString() +'</option>'; // } // $('#ddl2').append(options); //}); $("#ddl1").change(function (e) { $('#ddl2').find("option").remove(); var options = ""; for (var i = 0; i < $(this).val() ; i++) { options += '<option value="' + i.toString() + '">Este é o valor ' + i.toString() + '</option>'; } $('#ddl2').append(options); }); }); </script>
Não esqueça de importar a biblioteca jquery.
Nome : Romy G. Moura Cargo: Analista Programador
-
-
<asp:DropDownList runat="server" ID="myListDropDown" autopostback="true" CssClass="text" OnSelectedIndexChanged="myListDropDown_Change" />
protected void myListDropDown_Change(object sender, EventArgs e) { seu evento. }
Se a resposta foi útil por favor qualifique. Italo Biguzi Duarte, Desenvolvedor ASP.NET C#, Italo.biguzzi@gmail.com
- Marcado como Resposta Jamille Moreira quinta-feira, 27 de fevereiro de 2014 18:50
-
Boa tarde Italo!
Pelo fato do dropDownList de UF ser autopostback = "true", quando é carregado o dropDownList de cidade, é perdido o foco do dropDownList de UF, o foco é dado no endereço do navegador.
Como fazer para o foco permanecer no dropDownList de UF depois de ser carregado o dropDownList de cidade?
Já tentei colocar:
Protected Sub ddlUF_Change(ByVal sender As Object, ByVal e As System.EventArgs)
preencheCidade(ddlUF.SelectedValue.ToString())
ddlUF.Focus()
End Submas não funcionou.
Tem outra forma?
Desde já agradeço.
-
Jamille, boa tarde. Você poderia armazenar o estado do objeto na Session, exemplo
protected void myListDropDown_Change(object sender, EventArgs e) { Session["DDL_UF"] = "focus_on"; } protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) { if(Session["DDL_UF"] != null) { if(Session["DDL_UF"] == "focus_on") { ddlUF.focus(); } } } }
Sendo assim, no evento de OnChange ele vai guardar o texto 'focus_on' na memória, no evento Page_load, vamos capturar somente os eventos de volta do servidor, dentro verificamos se a Session existe, se existir e conter o nome 'focus_on' fala pra focar no objeto.
Se a resposta foi útil por favor qualifique. Italo Biguzi Duarte, Desenvolvedor ASP.NET C#, Italo.biguzzi@gmail.com
- Editado Italo Biguzi Duarte sexta-feira, 28 de fevereiro de 2014 17:17
-
-
-