• js原生的url操作函数,及使用方法。(附:下边还有jquery对url里的中文解码函数)


    js原生的url操作函数,完善的。

    /*****************************/
    /*        动态修改url        */
    /*****************************/
    var LG=(function(lg){
        var objURL=function(url){
            this.ourl=url||window.location.href;
            this.href="";//?前面部分
            this.params={};//url参数对象
            this.jing="";//#及后面部分
            this.init();
     
        }
        
        //分析url,得到?前面存入this.href,参数解析为this.params对象,#号及后面存入this.jing
        objURL.prototype.init=function(){
        var str=this.ourl;
        var index=str.indexOf("#");
        if(index>0){
        this.jing=str.substr(index);
        str=str.substring(0,index);
        }
        index=str.indexOf("?");
        if(index>0){
        this.href=str.substring(0,index);
        str=str.substr(index+1);
        var parts=str.split("&");
        for(var i=0;i<parts.length;i++){
        var kv=parts[i].split("=");
        this.params[kv[0]]=kv[1];
        }
        }
        else{
        this.href=this.ourl;
        this.params={};
        }
        }
        //只是修改this.params
        objURL.prototype.set=function(key,val){
        this.params[key]=val;
        }
        //只是设置this.params
        objURL.prototype.remove=function(key){
        this.params[key]=undefined;
        }
        //根据三部分组成操作后的url
        objURL.prototype.url=function(){
        var strurl=this.href;
        var objps=[];//这里用数组组织,再做join操作
        for(var k in this.params){
        if(this.params[k]){
        objps.push(k+"="+this.params[k]);
        }
        }
        if(objps.length>0){
        strurl+="?"+objps.join("&");
        }
        if(this.jing.length>0){
        strurl+=this.jing;
        }
        return strurl;
        }
        //得到参数值
        objURL.prototype.get=function(key){
        return this.params[key];
        } 
        lg.URL=objURL;
        return lg;
    }(LG||{}));

    应用上面的URL操作函数,获取url及其参数,并在使用前对rul中的中文用jquery自带函数解码。

    最后进行赋值等操作。

    $(document).ready(function(){ 
        var myurl=new LG.URL(window.location.href);
    
        //获取url参数,解码后赋值到select中,实现select防刷新
        $("#yewu").val(decodeURIComponent(myurl.get("yewu")));
        $("#fuwu").val(decodeURIComponent(myurl.get("fuwu")));
        $("#leixing").val(decodeURIComponent(myurl.get("leixing")));
        
        $('.casesel').change(function(){ 
            var p1=$('#yewu').val();//yewu的值 
            var p2=$('#fuwu').val();//fuwu的值 
            var p3=$('#leixing').val();//leixing的值 
            window.location.href="/case/?yewu="+p1+"&fuwu="+p2+"&leixing="+p3;//页面跳转并传参 
        });
    });        
  • 相关阅读:
    C语言入门(16)——C语言的数组
    快速插入一百万行数据储存过程
    如何将两个表名对调
    MySQL规范
    MySQL运行环境部署规范
    mysql查看存储过程
    批量杀死MySQL连接的几种方法
    查看堵塞的SQL
    mysqldump备份脚本
    查看当前的数据和索引的总大小
  • 原文地址:https://www.cnblogs.com/woodk/p/4621742.html
Copyright © 2020-2023  润新知