代码之家  ›  专栏  ›  技术社区  ›  Toby

使用jquery处理复选框

  •  0
  • Toby  · 技术社区  · 15 年前

    当jquery处理表单时,我目前正在对表单上的所有输入使用catch all方法。

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

    我需要做的是,看看这些输入中是否有一个是复选框,目前我唯一能找到的就是说,字段是否被选中。

    任何帮助都将不胜感激。

    4 回复  |  直到 11 年前
        1
  •  4
  •   bobince    15 年前

    如果您想知道它是否是该函数内的复选框:

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

    (是的,你也可以说 $(this).attr('type')==='checkbox' 如果你是那种对所有事情都使用jquery语法的人。但真的,有什么意义?它只会变慢,可读性变差。)

    如果您只想找到复选框,有一个特殊的过滤器:

    $(':checkbox').each(function() {
        ...
    });
    
        2
  •  4
  •   Tzury Bar Yochay    15 年前
    $('input[type=checkbox]').each(function(){
       // stuff
    });
    

    甚至更好

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

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

        3
  •  3
  •   Prody    15 年前

    你可以做到:

    $.each($(":input[type=checkbox]"), function() {
        // stuff
    }
    
        4
  •  -1
  •   Harry dbr    11 年前

    试试这个 .each 功能

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

    更新

    $.fn.tagName = function() {            
        return this.attr("type");          
    }                                      
      $(document).ready(function() {       
        alert($('#testElement').tagName());
        });