jq 部分用法

这几天一直在写前台,因为jq是在客服端处理数据的,所以公司,一般都用这种方法,下面是我这几天用到的一些东西

1、修改table表格的第一轮显示值

function changeTableRowValue(){

    var i = 1;
    $("table tbody tr ").each(function(){
       
       $(this).children("td:first").text(i);
        i++;
    });
}

显示效果图:

  2、 each 遍历数组 对了提一下,

  在each里面使用 return false 时,只是中止了each里面的function,跳出each,然后继续向下执行 ,

  他和php的foreach 与break 类似   

$.each( plugin_sort_table, function( k, v ){

        i++; 

         temp_plugin_sort_table.push({ 0 : i, 1 : v[1], 2 : v[2], 3:a_default( k, v )  });

       
    });
//双 each 遍历
    $.each( sort_platform, function( k, v ){

        $.each( temp_plugin_sort_table, function( k2, v2 ){

            if( v['code'] == v2[2] ){
                
                var tmp = temp_plugin_sort_table[ v[ 'sort'] ];//要被替换的

                v2[3] = ( a_cancle( v['sort'], v2 ) );
                temp_plugin_sort_table[ v[ 'sort'] ] = v2;
                
                //位置不变时,是需要吧自己的的  v2[3] 修改就可以了,其他的不用动
                if( v['sort'] != k2 ){

                    temp_plugin_sort_table[ k2 ] =  tmp;
                } 
            } 
        });
     });


 3、删除数组的某个元素

 //start:是从第几个单元开始
 //limit : 删除多少个
  array.splice(  start , limit );

  delete  array[ k ] ; 

4、json字符串 <==> 数组

      // 数组 ==> json字符串

     json= JSON.stringify( array ); 

    // json字符串 ==> 数组

     array= JSON.parse( json_string )

5、向数组末尾加入一个人或多个数组

platform_sort_list.push({ 'code' : v['code'], 'sort' : v['sort'] });

6、立刻 让input 获取焦点

    var str_input_name = 'input[name=' + code + ']' ;
    $( str_input_name ).focus();

7、json字符串与 json对象 相互转换

var str   = '';
var json = [];

var str_json =[1, 2, 3, 4, 5, 6, 7, 8, 9];

//json对象  转换成  字符串json
str    = JSON.stringify(str_json);
//json字符串  转换成  json对象
json  = JSON.parse(str);

8、获取 form 提交时的数据

    var form =  $("#form-id"); 
    获取表单的数据

    方法一
     var data = form.serialize();
     //serialize函数能够将form里边所以得表单以键值队的方式组成URL的字符串
    eg:name=value$name2=values& ......
   但是如果你的表单里面有 空格 小数点 等一些特殊的数据时,他会改变你的值出现乱的字符串,所以他不安全
    
  function getFormData(form){
        var data = form.serialize();
        data = decodeURI(data);
        var arr = data.split('&');
        var item,key,value,newData={};
        for(var i=0;i<arr.length;i++){
            item = arr[i].split('=');
            key = item[0];
            value = item[1];
            newData[key] = value;
        }   
        return newData;
    }


    方法二
      var data = form.serializeArray();
        //他是将form里边所以得表单以键值队的方式组成 对象【类似一个php的二维数组】, 每一个input输入表单 都将变成一个 name:'名字'  value:'值' 对象,他比较安全不会改变表单值

    function getFormData(form){
        var data = form.serializeArray();
        var newData = {};  
 
        $.each(data, function(k, v){
            var key = v.name
            newData[key] = v.value;
        });
        return newData;
    }

9、当单选框是一个时, 点击达到取消和选择的功能

   
 $('#input_id').click( function(){

        if ($(this).attr("checked")) {    
           $(this).attr("checked",false);
        }else{
             $(this).attr("checked",true);
        }
    });

10、jq让单选框不可修改

// <input type="radio" id="input-id">
$('#input-id').click( function(){

        if ($(this).attr("checked")) {    
           $(this).attr("checked",true);
        }else{
             $(this).attr("checked",false);
        }
    });
原文地址:https://www.cnblogs.com/jxkshu/p/6078696.html