| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1446 人关注过本帖
标题:JS如何实现同时传两个值到网址?
只看楼主 加入收藏
annke
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-11-8
收藏
 问题点数:0 回复次数:0 
JS如何实现同时传两个值到网址?
现在的代码是:点一个筛选传送一个变量到地址,如何才能实现做到点一个筛选,同时传送两个变量到网址呢,麻烦高手帮助下我这个菜鸟

举例:
原代码:
<li><a href="javascript:goSort('index.html','genre,1')">华语</a></li>


希望修改后,增加一个变量:
 <li><a href="javascript:goSort('index.html','genre',1,变量名,变量值)">华语</a></li>


完整的代码:
程序代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. xmlns="http://www. http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
.filter-title{float:left;}
.filter ul{float:left; list-style:none; margin:0px; padding:0; line-height:35px; width:100%;}
.filter li{float:left; margin:0 18px 0 18px;}

 
.filter li a{list-style:none; color:#6a6a6a;}
.filter li a:hover{list-style:none; color:#000; transition:background-color 0.25s linear,color 0.25s linear; }
.filter li.selected a{color:#FFF; border-radius:3px; padding:3px 8px 3px 8px; padding-right:15px; background:url(selected.png) #666 no-repeat right center;}/*选择后显示样式*/

 
</style>
<script src="http://code. class="filter filter-Blue">
  <ul id="genre">
    <div class="filter-title">音乐流派:</div>
    <li class="selected"><a href="index.html">全部</a></li>
    <li><a href="javascript:goSort('index.html','genre',1)">华语</a></li>
    <li><a href="javascript:goSort('index.html','genre',2)">欧美</a></li>
    <li><a href="javascript:goSort('index.html','genre',3)">粤语</a></li>
    <li><a href="javascript:goSort('index.html','genre',4)">日韩</a></li>
  </ul>
</div>

 

 
<script>
function getQueryString(){
     var result = location.search.match(new RegExp("[\?\&][^\?\&]+=[^\?\&]+","g"));
     if(result == null){
         return "";
     }
     for(var i = 0; i < result.length; i++){
         result[i] = result[i].substring(1);
     }
     return result;
}

 
function goSort(href,name,value){  //(href,name,value)对应为(网址,条件,条件赋值)
    var string_array = getQueryString();
    var oldUrl = (document.URL.indexOf(href)==-1)?document.URL+href:document.URL;
    var newUrl;
    if(string_array.length>0)//如果已经有筛选条件
    {   var repeatField = false;
        for(var i=0;i<string_array.length;i++){
            if(!(string_array[i].indexOf(name)==-1)){
                repeatField = true;//如果有重复筛选条件,替换条件值
                newUrl = oldUrl.replace(string_array[i],name+"="+value);
            }
                         
             
        }
        //如果没有重复的筛选字段
        if(repeatField == false){
            newUrl = oldUrl+"&"+name+"="+value;
        }
    }else{//如果还没有筛选条件
        newUrl = oldUrl+"?"+name+"="+value;
    }
    //跳转
    window.location = newUrl

 
}
function setSelected(name,value){
    var all_li = $("#"+name).find("li");
    //清除所有li标签的selected类
    all_li.each(function(){
        $(this).removeClass("selected");
    });
    //为选中的li增加selected类
    all_li.eq(value).addClass("selected");
}
$(document).ready(function(){
    var string_array = getQueryString();
    for(var i=0;i<string_array.length;i++){
        var tempArr = string_array[i].split("=");
        setSelected(tempArr[0],tempArr[1]);//设置选中的筛选条件
    }
});

 
</script>
</body>
</html>

搜索更多相关主题的帖子: 筛选 href html var name 
2017-11-08 09:58
快速回复:JS如何实现同时传两个值到网址?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016320 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved