Como posso obter o elemento com o label marcado na tag ?

Em javascipt / jquery Como posso obter o nome do elemento verificado. Estes estão na tabela. E eu tenho que alcançar e detectar o label da checkbox de seleção marcada na tag td.

$.each(value.Value, function (_, ObjElement) { var tr = $('').appendTo(table); $("").appendTo(tr); $("", { id: 'clusterList' }).text(ObjElement.Name).append($('').prop("checked", true)).appendTo(tr); Cluster1 Cluster2 Cluster3 

O resultado deve ser assim se a primeira e a segunda checkbox de seleção estiverem marcadas.

Listcluster = {Cluster1, Cluster2}

IDs devem ser exclusivos , você deve usar classs em vez disso. Você pode armazenar os valores em uma matriz usando o método map .

 var listCluster = $('table td').has('input[type=checkbox]:checked').map(function(){ return this.textContent || this.innerText; // return $.trim( $(this).text() ); }).get(); 

http://jsfiddle.net/SUHsT/

1) Ids DEVE ser Único. Você não pode ter vários elementos com o mesmo ID.

Então, com isso fora do caminho, vamos supor que você tenha o seguinte DOM:

 
Cluster1 Cluster2 Cluster3

E, dado que seu exemplo não inclui atributos de nome, estou assumindo que quando você diz “nome” você quer dizer “o texto logo antes do campo de input”. Então seu jquery ficaria da seguinte forma:

  ListCluster = [] $('table#myTable tr td input[type=checkbox]').on('change', function(){ if($(this).attr('checked')=='checked'){ if(ListCluster.indexOf($(this).parent().text()==-1){ ListCluster.push($(this).parent().text()); } } else if(ListCluster.indexOf($(this).parent().text()>=-1){ ListCluster.splice($(this).parent().text(), 1); } } 

Veja como isso funciona.

Você inicializa uma matriz ListCluster. Em seguida, você adiciona um manipulador on change em todas as checkboxs de seleção no nível desejado de aninhamento. O motivo para usar um manipulador de alterações, em vez de um manipulador de cliques, é que um manipulador de alterações permitirá que você manipule uma alteração de valor com base na barra de espaço sendo pressionada após a tabulação na checkbox de seleção, enquanto um evento de clique não seleciona isso.

Dentro do manipulador de mudanças, $(this) refere-se à checkbox de seleção alterada, enquanto .parent() alcança um nível acima para obter seu wrapping td.

.text() irá obter um texto DOMElements descartando todo o HTML.

indexOf() retornará o primeiro índice onde um valor é encontrado ou -1 se ele nunca for encontrado, portanto, comparar indexOf como -1 é equivalente a perguntar “is this item present?”

.push() é uma function que adiciona um elemento ao final de um array, enquanto .splice(x, y) removerá y elementos começando no índice de x.

 $('td input:checked').parent().text(); 

Os IDs da BTW devem ser exclusivos.