这几天一直在写前台,因为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=;i<arr.length;i++){
item = arr[i].split('=');
key = item[];
value = item[];
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);
}
});