none
Carregar DropDownList de acordo com outro RRS feed

Respostas

  • Consegui dessa forma, não sei se é a mais correta.

     

       $("#ProjetoID").change(function () {
        var projID = $('#ProjetoID').val();
        $.ajax({
         url: '/Apontamento/ProfissionalList/',
         type: 'POST',
         dataType: 'json',
         data: { ProjetoID: projID },
         success: function (data) {
          var items = "<option>      </option>";
          $.each(data, function (i, proje) {
           items += "<option value='" + proje.Value + "'>" + proje.Text + "</option>";
          });
          $("#ProfissionalID").html(items);
         }     
        });
       });
    
      
    public ActionResult ProfissionalList(string ProjetoID) { if (!string.IsNullOrEmpty(ProjetoID)) { var iProjetoID = int.Parse(ProjetoID); IEnumerable<Profissional> profissional = from pro in db.ProjetoProfissional where pro.ProjetoID == iProjetoID select pro.Profissional; if (HttpContext.Request.IsAjaxRequest()) return Json(new SelectList( profissional, "ProfissionalID", "NomeProfissional"), JsonRequestBehavior.AllowGet ); return View(profissional); } IEnumerable<Profissional> profissionalaux = null; if (HttpContext.Request.IsAjaxRequest()) return Json("", JsonRequestBehavior.AllowGet ); return View(profissionalaux); }


     

     


    • Marcado como Resposta Gustavo Tamanini segunda-feira, 11 de julho de 2011 19:02
    segunda-feira, 11 de julho de 2011 19:01

Todas as Respostas

  •  

    Boa tarde Gustavo,

    No exemplo citado, experimente adicionar a propriedade JsonRequestBehavior.AllowGet no retorno

    Ex:

    return Json(LISTA,JsonRequestBehavior.AllowGet)

    sexta-feira, 8 de julho de 2011 17:43
  • Bom dia,

    Obrigado Mauricio, agora passou a carregar os Projetos.

    Mas ao selecionar o Projeto, ele passa null para o metodo que retorna os Profissionais.

        $(document).ready(function () {
          $.getJSON("/Apontamento/Projetos/List", function (data) {
            var items = "<option>---------------------</option>";
            $.each(data, function (i, country) {
              items += "<option value='" + country.Value + "'>" + country.Text + "</option>";
            });
            $("#Projetos").html(items);
          });
    
          $("#Projetos").change(function () {
            $.getJSON("/Apontamento/Profissionais/List/" + $("#Projetos > option:selected").attr("value"), function (data) {
              var items = "<option>---------------------</option>";
              $.each(data, function (i, state) {
                items += "<option value='" + state.Value + "'>" + state.Text + "</option>";
              });
              $("#Profissionais").html(items);
            });
          });
        });
    

        public ActionResult ProfissionalList(string cProjetoID)
        {
          var ProjetoID = int.Parse(cProjetoID);
    
          IQueryable profissional = db.Profissional.Include(x => x.ProjetoProfissional.Where(a => a.ProjetoID == ProjetoID));
    
          if (HttpContext.Request.IsAjaxRequest())
            return Json(new SelectList(
                    profissional,
                    "ProfissionalID",
                    "NomeProfissional"),
                    JsonRequestBehavior.AllowGet
                  );
    
          return View(profissional);
        } 
    


    segunda-feira, 11 de julho de 2011 13:55
  • Consegui dessa forma, não sei se é a mais correta.

     

       $("#ProjetoID").change(function () {
        var projID = $('#ProjetoID').val();
        $.ajax({
         url: '/Apontamento/ProfissionalList/',
         type: 'POST',
         dataType: 'json',
         data: { ProjetoID: projID },
         success: function (data) {
          var items = "<option>      </option>";
          $.each(data, function (i, proje) {
           items += "<option value='" + proje.Value + "'>" + proje.Text + "</option>";
          });
          $("#ProfissionalID").html(items);
         }     
        });
       });
    
      
    public ActionResult ProfissionalList(string ProjetoID) { if (!string.IsNullOrEmpty(ProjetoID)) { var iProjetoID = int.Parse(ProjetoID); IEnumerable<Profissional> profissional = from pro in db.ProjetoProfissional where pro.ProjetoID == iProjetoID select pro.Profissional; if (HttpContext.Request.IsAjaxRequest()) return Json(new SelectList( profissional, "ProfissionalID", "NomeProfissional"), JsonRequestBehavior.AllowGet ); return View(profissional); } IEnumerable<Profissional> profissionalaux = null; if (HttpContext.Request.IsAjaxRequest()) return Json("", JsonRequestBehavior.AllowGet ); return View(profissionalaux); }


     

     


    • Marcado como Resposta Gustavo Tamanini segunda-feira, 11 de julho de 2011 19:02
    segunda-feira, 11 de julho de 2011 19:01