获取容器中的表单值封装成object

项目中临时写的,为了可以去除form元素,避免形成form嵌套,有什么bug麻烦大家提出,我尽快改正。

$.fn.serializeObject=function(){
           var inputs=$(this).find("input,textarea,select");
           var o = {};
           $.each(inputs,function(i,n){
               switch(n.nodeName.toUpperCase()){
                   case "INPUT":
                       if($(n).is(":checkbox")){
                           if($(n).is(":checked")){
                               o[n.name]=true;
                           }else{
                               o[n.name]=false;
                           }
                       }else if($(n).is(":radio")){
                           if($(n).is(":checked")){
                               o[n.name]=n.value;
                           }
                       }else{
                           o[n.name]=n.value;  
                       }
                          
                       break;
                   case "TEXTAREA":
                       o[n.name]=$(n).text();
                       break;
                   case "SELECT":
                       o[n.name]=n.value;
                       break;
               }
           });
           return o;
       }


你可能感兴趣的:(前台)