none
evento onchange dropdownlist executar submit() jquery RRS feed

  • 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

    quarta-feira, 12 de dezembro de 2012 18:01

Todas as Respostas

  • $(".drop").change(function(){
         $(this).parents("form").submit();
    })

    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    quarta-feira, 12 de dezembro de 2012 18:28
  • 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

    quarta-feira, 12 de dezembro de 2012 18:45
  • 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

    quarta-feira, 12 de dezembro de 2012 18:49
  • 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

    quinta-feira, 13 de dezembro de 2012 14:29