none
Pegando checkbox selecionados RRS feed

  • Pergunta

  • Galera tenho uma grid com vários checkbox, preciso pegar os checkbox selecionados que são recusados e os selecionados que são aprovados como posso fazer isso?

    Segue o grid:

    Obrigado


    SirSmart

    quarta-feira, 23 de abril de 2014 17:08

Respostas

  • Acho que isso resolve o teu caso

    namespace WebApplication2.Controllers
    {
        public class HomeController : Controller
        {
            public ActionResult Index()
            {
                List<HomeModel> model = new List<HomeModel>();
                model.Add(new HomeModel()
                {
                    Id = 1,
                    Descricao = "Teste 1",
                    Teste = false
                });
    
                model.Add(new HomeModel()
                {
                    Id = 2,
                    Descricao = "Teste 2",
                    Teste = false
                });
    
                model.Add(new HomeModel()
                {
                    Id = 3,
                    Descricao = "Teste 3",
                    Teste = false
                });
    
                model.Add(new HomeModel()
                {
                    Id = 4,
                    Descricao = "Teste 4",
                    Teste = false
                });
                return View(model);
            }
    
            [HttpPost]
            public ActionResult Index(List<HomeModel> model)
            {
                return View(model);
            }        
        }
    
        public class HomeModel
        {
            public int Id { get; set; }
            public string Descricao { get; set; }
            public bool Teste { get; set; }
        }
    }

    @model List<WebApplication2.Controllers.HomeModel>
    @{
        ViewBag.Title = "Home Page";
    }
    
    @using (Html.BeginForm())
    { 
        <table>
            <thead>
                <tr>
                    <td>Id</td>
                    <td>Descricao</td>
                    <td>Teste</td>
                </tr>
            </thead>
            <tbody>
                @for (int count = 0; count < Model.Count; count++)
                { 
                    <tr>
                        <td>@Model[count].Id</td>
                        <td>@Model[count].Descricao</td>
                        <td>@Html.CheckBoxFor(a => a[count].Teste)</td>
                    </tr>
                }
            </tbody>
        </table>
        
        <input type="submit" value="Salvar" id="salvar"/>
    }

    • Sugerido como Resposta Pablotdv quinta-feira, 24 de abril de 2014 17:48
    • Marcado como Resposta SirSmart quinta-feira, 1 de maio de 2014 21:51
    quinta-feira, 24 de abril de 2014 17:47
  • Renderiza um input do tipo checkbox para ser enviado no submit do form.
    • Marcado como Resposta SirSmart quinta-feira, 1 de maio de 2014 21:51
    sexta-feira, 25 de abril de 2014 13:15

Todas as Respostas

  • Como você esta montando esta grid?
    quarta-feira, 23 de abril de 2014 18:02
  • Segue a View

    @using WebProvider.BMW_Incentivo.Domain.Models
    @model IEnumerable<Passagem>
    
    <link rel="stylesheet" type="text/css" href="@Url.Content("~/Content/css/pageDataTables.css")" media="screen" />
    <link rel="stylesheet" type="text/css" href="@Url.Content("~/Content/css/tableDataTables.css")" media="screen" />
    <script src="@Url.Content("~/Content/js/jquery.dataTables.js")" type="text/javascript"></script>
    
    <script src="~/Content/js/pages/GerenciadorPassagem.js"></script>
    
    <table border="2" class="data display datatable" id="tabFiltra">
    
        <thead>
            <tr>
                <th><span>Acao</span></th>
                <th><span>Participante - CPF</span></th>
                <th><span>Passagem</span></th>
                <th><span>Status</span></th>
            </tr>
        </thead>
    
        <tbody>
    
    
            @if (Model != null)
            {
                foreach (Passagem participante in Model)
                {
                    <tr>
                        <td>
                            <input type="checkbox" id="@participante.Id" name="idsCredito" value="@participante.Acao" @(participante.Acao == false ? "checked = 'checked' disabled='disabled' ": participante.Acao == true ? "checked = 'checked'" : string.Empty) />
                        </td>
                        <td>
    
                            <label id="@participante.Participante.Id" for="participanteId"> @(participante.Passagens != null ? participante.Participante.NomeCompleto + " - " + participante.Participante.CPF : "") </label>
                        </td>
                        <td>
                            <label id="@participante.Passagens" for="participantePassagem">@(participante.Passagens.ToString() != "" ? participante.Passagens.ToString() : "") </label>
    
                        </td>
                        <td>
    
                            <label id="@participante.Acao" for="participanteAcao">@(participante.Acao == true ? "Aprovado" : participante.Acao == false ? "Recusado" : "Pendente")</label>
    
    
                        </td>
                    </tr>
                }
            }
            
        </tbody>
    
    </table>

    Obrigado


    SirSmart

    quinta-feira, 24 de abril de 2014 12:02
  • Acho que isso resolve o teu caso

    namespace WebApplication2.Controllers
    {
        public class HomeController : Controller
        {
            public ActionResult Index()
            {
                List<HomeModel> model = new List<HomeModel>();
                model.Add(new HomeModel()
                {
                    Id = 1,
                    Descricao = "Teste 1",
                    Teste = false
                });
    
                model.Add(new HomeModel()
                {
                    Id = 2,
                    Descricao = "Teste 2",
                    Teste = false
                });
    
                model.Add(new HomeModel()
                {
                    Id = 3,
                    Descricao = "Teste 3",
                    Teste = false
                });
    
                model.Add(new HomeModel()
                {
                    Id = 4,
                    Descricao = "Teste 4",
                    Teste = false
                });
                return View(model);
            }
    
            [HttpPost]
            public ActionResult Index(List<HomeModel> model)
            {
                return View(model);
            }        
        }
    
        public class HomeModel
        {
            public int Id { get; set; }
            public string Descricao { get; set; }
            public bool Teste { get; set; }
        }
    }

    @model List<WebApplication2.Controllers.HomeModel>
    @{
        ViewBag.Title = "Home Page";
    }
    
    @using (Html.BeginForm())
    { 
        <table>
            <thead>
                <tr>
                    <td>Id</td>
                    <td>Descricao</td>
                    <td>Teste</td>
                </tr>
            </thead>
            <tbody>
                @for (int count = 0; count < Model.Count; count++)
                { 
                    <tr>
                        <td>@Model[count].Id</td>
                        <td>@Model[count].Descricao</td>
                        <td>@Html.CheckBoxFor(a => a[count].Teste)</td>
                    </tr>
                }
            </tbody>
        </table>
        
        <input type="submit" value="Salvar" id="salvar"/>
    }

    • Sugerido como Resposta Pablotdv quinta-feira, 24 de abril de 2014 17:48
    • Marcado como Resposta SirSmart quinta-feira, 1 de maio de 2014 21:51
    quinta-feira, 24 de abril de 2014 17:47
  • Cara achei show de bola a sua solução, porem gostaria de entender melhor o que a instrução abaixo faz ?

    @Html.CheckBoxFor(a => a[count].Teste)

    Obrigado


    SirSmart

    sexta-feira, 25 de abril de 2014 01:10
  • Renderiza um input do tipo checkbox para ser enviado no submit do form.
    • Marcado como Resposta SirSmart quinta-feira, 1 de maio de 2014 21:51
    sexta-feira, 25 de abril de 2014 13:15