交互数据处理常用方法

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("其他");
        }

     }

   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){
             //返回请求局部刷新的参数--不需刷新页面
          });

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值