1.后台返回值的多选的选中
思路:分别取出后台选中的值和所有的多选框的值进行判断,相等则为选中,
后台存取的值为有逗号的字符串,先要把它转化为数组
方法:
function isCheckboxSelected(checkbox,value){
var $input=$(checkbox);
var arrVal=new Array();
arrVal=value.split(',');//以逗号分隔成数组
for (var i = 0; i < arrVal.length; i++) {
for (var j = 0; j < $input.length; j++) {
var inputVal=$input.eq(j).val();
if (inputVal==arrVal[i]) {
$input.eq(j).attr('checked',true);//让其为选中
} else{}
}
}
}
注释:此方法需要多次使用时(调用传参)
循环遍历的内容打印显示undefined---注意添加遍历索引下标:arr[i]
2.后台返回值的判断赋值
//类型单选--选中状态
//第一种---单个调用
function checked_one(value){
var type;
console.log(typeof(value)); //注意:switch(变量) 与case值类型一致 typeof(变量)==typeof(值)
switch(value){
case "0":type="类型一";
break;
case "1":type="类型二";
break;
case "2":type="其他";
break;
}
$('.tg [name="type"]').html(type);
}
//第二种--多个调用
function checked_one(value){
console.log(typeof(value)); //注意字符串格式
if(value=="0"){
$('.tg [name="type"]').html("类型一");
}
else if(value=="1"){
$('.tg [name="type"]').html("类型二");
}
else if(value=="2"){
$('.tg [name="type"]').html("其他");
}
var bbb="abbb,a,a,a-";
aaa=bbb.split(",")[3].split("-"); //符号应该需转义
console.log(aaa);
使用:
1.拆分json字符串
2.拆分url地址
3.拆分cookie用户信息:
cookie是以键值对的形式保存的,即key=value的格式。各个cookie之间一般是以“;”分隔
Session运行在服务器端的,cookie运行在客户端--不安全
4.input type=“hidden”使用--传递数据而不需用户看到
<label for="">显示</label><input class="aaa">
<label for="">隐藏</label><input class="bbb" type="hidden" value="隐藏" >
//console.log( $(".bbb").val());//隐藏
$(".aaa").blur(function(){
$(".bbb").val("显示");
$(".aaa").val("more");
console.log( $(".bbb").val(),$(".aaa").val()); //显示 more
<div class="test"><p>hello,你好!</p></div>
<script>
console.log($(".test")[0].outerHTML);
console.log($(".test").eq(0).outerHTML);
</script>
trAll+=$(".tg tr").eq(x).prop("outerHTML"); // prop() 方法设置或返回被选元素的属性和值
removeProp() 方法:移除属性
6.关于js动态添加的时候样式失效的问题
使用原生解决,一般不会不生效
7.Javascript 对象(object)合并:https://www.cnblogs.com/yes-V-can/p/5631645.html
--用 Object.assign(); ----
var o1 = { a: 1 };
var o2 = { b: 2 };
var obj = Object.assign(o1, o2);
console.log(obj); // { a: 1, b: 2}
//排序的函数
function objKeySort(arys) {
//先用Object内置类的keys方法获取要排序对象的属性名,再利用Array原型上的sort方法对获取的属性名进行排序,newkey是一个数组
var newkey = Object.keys(arys).sort();
//console.log('newkey='+newkey);
var newObj = {}; //创建一个新的对象,用于存放排好序的键值对
for(var i = 0; i < newkey.length; i++) {
//遍历newkey数组
newObj[newkey[i]] = arys[newkey[i]];
//向新创建的对象中按照排好的顺序依次增加键值对
}
return newObj; //返回排好序的新对象
思路:分别取出后台选中的值和所有的多选框的值进行判断,相等则为选中,
后台存取的值为有逗号的字符串,先要把它转化为数组
方法:
function isCheckboxSelected(checkbox,value){
var $input=$(checkbox);
var arrVal=new Array();
arrVal=value.split(',');//以逗号分隔成数组
for (var i = 0; i < arrVal.length; i++) {
for (var j = 0; j < $input.length; j++) {
var inputVal=$input.eq(j).val();
if (inputVal==arrVal[i]) {
$input.eq(j).attr('checked',true);//让其为选中
} else{}
}
}
}
注释:此方法需要多次使用时(调用传参)
循环遍历的内容打印显示undefined---注意添加遍历索引下标:arr[i]
2.后台返回值的判断赋值
//类型单选--选中状态
//第一种---单个调用
function checked_one(value){
var type;
console.log(typeof(value)); //注意:switch(变量) 与case值类型一致 typeof(变量)==typeof(值)
switch(value){
case "0":type="类型一";
break;
case "1":type="类型二";
break;
case "2":type="其他";
break;
}
$('.tg [name="type"]').html(type);
}
//第二种--多个调用
function checked_one(value){
console.log(typeof(value)); //注意字符串格式
if(value=="0"){
$('.tg [name="type"]').html("类型一");
}
else if(value=="1"){
$('.tg [name="type"]').html("类型二");
}
else if(value=="2"){
$('.tg [name="type"]').html("其他");
}
}
3.split分隔,二次分隔--注意分隔的是集合,应加索引var bbb="abbb,a,a,a-";
aaa=bbb.split(",")[3].split("-"); //符号应该需转义
console.log(aaa);
使用:
1.拆分json字符串
2.拆分url地址
3.拆分cookie用户信息:
cookie是以键值对的形式保存的,即key=value的格式。各个cookie之间一般是以“;”分隔
Session运行在服务器端的,cookie运行在客户端--不安全
4.input type=“hidden”使用--传递数据而不需用户看到
<label for="">显示</label><input class="aaa">
<label for="">隐藏</label><input class="bbb" type="hidden" value="隐藏" >
//console.log( $(".bbb").val());//隐藏
$(".aaa").blur(function(){
$(".bbb").val("显示");
$(".aaa").val("more");
console.log( $(".bbb").val(),$(".aaa").val()); //显示 more
});
5.获取元素标签及其内容<div class="test"><p>hello,你好!</p></div>
<script>
console.log($(".test")[0].outerHTML);
console.log($(".test").eq(0).outerHTML);
</script>
trAll+=$(".tg tr").eq(x).prop("outerHTML"); // prop() 方法设置或返回被选元素的属性和值
removeProp() 方法:移除属性
6.关于js动态添加的时候样式失效的问题
使用原生解决,一般不会不生效
7.Javascript 对象(object)合并:https://www.cnblogs.com/yes-V-can/p/5631645.html
--用 Object.assign(); ----
var o1 = { a: 1 };
var o2 = { b: 2 };
var obj = Object.assign(o1, o2);
console.log(obj); // { a: 1, b: 2}
console.log(o1); // { a: 1, b: 2} --注意目标对象自身也会改变。
8.js对象中的key按照a-z排序---http://blog.csdn.net/xiejunna/article/details/54425560//排序的函数
function objKeySort(arys) {
//先用Object内置类的keys方法获取要排序对象的属性名,再利用Array原型上的sort方法对获取的属性名进行排序,newkey是一个数组
var newkey = Object.keys(arys).sort();
//console.log('newkey='+newkey);
var newObj = {}; //创建一个新的对象,用于存放排好序的键值对
for(var i = 0; i < newkey.length; i++) {
//遍历newkey数组
newObj[newkey[i]] = arys[newkey[i]];
//向新创建的对象中按照排好的顺序依次增加键值对
}
return newObj; //返回排好序的新对象
}
9.解除绑定事件(点赞)
$(".active").click(function(){
if($(this).children('.sumup').prev().html()=="赞成"){
type=1;
}
else if($(this).children('.sumdown').prev().html()=="不赞成"){
type=2;
}
$(".active").unbind('click'); //解除绑定事件
console.log(type);
//传参给后台
$.post(url,{type:type},function(data){
//返回请求局部刷新的参数--不需刷新页面
});