Escrevendo itens marcados em uma matriz

Estas são as minhas muitas caixas de seleção e eu preciso pegar as selecionadas em um save e criar um array/string de números que serão salvos.


Eu preciso adicionar um valor com um número para que eu possa obter o número que a caixa de seleção é para que eu possa obter algo como "1,4,8,9" (caixas de seleção selecionadas) ou posso obtê-lo do ID?

Eu estava olhando algo como isto como um exemplo:

$(function(){
  $('#btnClick').click(function(){
    var val = [];
    $(':checkbox:checked').each(function(i){
      val[i] = $(this).val();
    });
  });
});

EDITAR:

Existe uma maneira de obter as caixas de seleção especificamente iniciando a ID para não obter todas as da página?

0

3 Respostas

Você pode usar .push no Array como:

val.push(this.id);

Here is an example: http://jsfiddle.net/dpMp2/3/

ou

você pode apenas fazer isso:

var val = $.makeArray($(':checkbox:checked'));

infoumation on makeArray can be found here: http://api.jquery.com/jQuery.makeArray/ note as am not i am stated below, the array will be objects and you will have to get the id ou value from each obj. Read the docs fou moue info.

0
adicionado

Como val é um objeto, você terá que usar a função push para atribuir os dados.

$(function(){
  $('#btnClick').click(function(){
    var val = [];
    $(':checkbox:checked').each(function(i){
      val.push($(this).val());
    });
  });
});
0
adicionado

I would use map

$(':checkbox:checked').map(function(){ return $(this).val(); })
0
adicionado
JavaScript Brasil OFICIAL
JavaScript Brasil OFICIAL
4 138 dos participantes

Grupo sobre JavaScript do Brasil