Pergunta

Atualmente, estou usando um prendedor todo método para todas as entradas no meu formulário quando ele está sendo tratado pelo jQuery.

$.each($(':input'),function()
{
    //stuff                 
});

O que eu preciso ser capaz de fazer é ver se qualquer uma dessas entradas é uma caixa de seleção, no momento em que a única coisa que posso encontrar é para dizer se o campo está marcada ou não.

Qualquer ajuda seria muito apreciada.

Foi útil?

Solução

Se você quer saber se é uma caixa de seleção dentro dessa função:

$(':input').each(function() {
    if (this.type==='checkbox')
        ....
});

(Sim, você também pode dizer $(this).attr('type')==='checkbox' Se você é uma daquelas pessoas que está morto em conjunto usando a sintaxe do jQuery para tudo. Mas, realmente, qual é o ponto? É só vai ser mais lento e menos legível).

Se você quiser encontrar apenas caixas, há um filtro especial para isso:

$(':checkbox').each(function() {
    ...
});

Outras dicas

$('input[type=checkbox]').each(function(){
   // stuff
});

Ou ainda melhor

$('input:checkbox').each(function(){
   // stuff
})

http://docs.jquery.com/Selectors/checkbox

Você pode fazer:

$.each($(":input[type=checkbox]"), function() {
    // stuff
}

tentar isso em função .each

if($('#myId').attr('type') == 'checkbox')
alert ('checkbox');

Atualizar

$.fn.tagName = function() {            
    return this.attr("type");          
}                                      
  $(document).ready(function() {       
    alert($('#testElement').tagName());
    });                           
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top