Inquiridor
evento onchange dropdownlist executar submit() jquery

Pergunta
-
Olá a todos.
Eu tenho uma pagina que contem um dropdownlist que no evento onchange é chamado um post com ajax para uma determinada controller passando um parametro. Eu precisava criar um jquery que fizesse o post da pagina e nao de um determinado objeto data do ajax para que o retorno da pagina seja executado por completo e nao de um determinado objeto. Pois no retorno preciso que seja retornado um model preenchida, mais como o post é do objeto e nao da pagina, a model nao é preenchida.
Abaixo onde consegui chegar.
function PostController(item) { $(function () { $("#frmLiberacao").submit(function (e) { e.preventDefault(); $.ajax({ type: "POST", url: '@Url.Content("~/controller/acao")', data: { dataProcessamento: item } }); return false; }); }); } $(document).ready(function () { $("#ddlDataProcessamento").change(function () { var strSelected = ""; $("#ddlDataProcessamento option:selected").each(function () { strSelected += $(this)[0].value; }); if (strSelected != null) { PostController(strSelected); } }); });
e na pagina inseri:
@using (Html.BeginForm("acao", "controller", FormMethod.Post, new { id = "frmLiberacao" })) { //Conteudo da pagina }
Alguem poderia me dar uma força?
Se a minha resposta lhe foi util, marque "Propor como Proposta" para qualificar o conteudo do fórum. Obrigado, Vinicius Nunes Macedo
Todas as Respostas
-
-
Valeu Murilo pela resposta. Porem eu tenho como fazer o submit e enviar o valor igual ao:
$.ajax({ type: "POST", url: '@Url.Content("~/controller/acao")', data: { dataProcessamento: item }
onde eu passo a controller/action e passo o parametro da action (no caso a variavel item)
Se a minha resposta lhe foi util, marque "Propor como Proposta" para qualificar o conteudo do fórum. Obrigado, Vinicius Nunes Macedo
-
Você pode pegar o valor do seu drop que está dentro do form(esse código é baseado pensando que você tem vários forms)
$.ajax({ type: "POST", url: '@Url.Content("~/controller/acao")', data: { dataProcessamento: $(this).find(".drop").val()} });
se você só tiver um form na tela, então pode acessar diretamente o valor do drop:
$.ajax({ type: "POST", url: '@Url.Content("~/controller/acao")', data: { dataProcessamento: $(".drop").val() } });
http://www.linkedin.com/pub/murilo-kunze/44/191/455
-
Murilo, mais um avez obrigado.
Porem essa opção remete um post da ação e não da pagina, como faria para dar um post na pagina? Pois dessa maneira o retorno acontece na ação e nao na pagina (como post assincrono)
Se a minha resposta lhe foi util, marque "Propor como Proposta" para qualificar o conteudo do fórum. Obrigado, Vinicius Nunes Macedo