2014-06-13 66 views
0

我有什麼是一個愚蠢的簡單下拉列表,當做出選擇時,它會將下面列表中顯示的值附加到URL中進行排序,我錯過了一部分難題,因爲它不保留選擇。 onchange強制刷新頁面,而值仍然傳遞到URL並保留給用戶,但仍可能很明顯他們沒有做出選擇。所以,我在看也許使用jQuery作爲平變化,而不是現在正在使用的重定向功能,但我不知道從哪裏開始,因爲我很新的這...Jquery下拉列表函數返回並保持選擇

<select id="Selection" class="sorter" onchange="location=this.options[[this.selectedIndex]].value" style="float:right;margin-right:8px;"> 
    <option value="">Sort by</option> 
    <option value="?orderby=0">Code</option> 
    <option value="?orderby=1">Title A-Z</option> 
    <option value="?orderby=2">Title Z-A</option> 
    <option value="?orderby=3">Brand</option> 
    <option value="?orderby=4">Lowest price</option> 
    <option value="?orderby=5">Highest price</option> 
    <option value="?orderby=6">Lowest Quantity</option> 
    <option value="?orderby=7">Highest Quantity</option> 
</select> 

任何幫助將非常感謝...

+1

顯示jQuery代碼或的jsfiddle –

+0

我沒有任何這簡直是我的全部,並且需要得到的東西,可能是一個可行的解決方案的幫助。我正在嘗試根據CMS選擇進行修改。 – user2034164

+0

是不是使用任何服務器端語言? –

回答

1

這是ans。到你的問題。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
</head> 

<body> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<script> 
(function($) { 
    $.QueryString = (function(a) { 
     if (a == "") return {}; 
     var b = {}; 
     for (var i = 0; i < a.length; ++i) 
     { 
      var p=a[i].split('='); 
      if (p.length != 2) continue; 
      b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " ")); 
     } 
     return b; 
    })(window.location.search.substr(1).split('&')) 
})(jQuery); 
var qstr=$.QueryString["orderby"]; 
alert(qstr); 
//$("#Selection").prop("selectedIndex", qstr); 
</script> 

<select id="Selection" class="sorter" onchange="location=this.options[[this.selectedIndex]].value" style="float:right;margin-right:8px;"> 
    <option id=1 value="">Sort by</option> 
    <option id=2 value="?orderby=1">Code</option> 
    <option id=3 value="?orderby=2">Title A-Z</option> 
    <option id=4 value="?orderby=3">Title Z-A</option> 
    <option id=5 value="?orderby=4">Brand</option> 
    <option id=6 value="?orderby=5">Lowest price</option> 
    <option id=7 value="?orderby=6">Highest price</option> 
    <option id=8 value="?orderby=7">Lowest Quantity</option> 
    <option id=9 value="?orderby=8">Highest Quantity</option> 
</select> 

<script>$("#Selection").prop("selectedIndex", qstr); 
</script> 


</body> 
</html> 
+0

它增加了一個彈出窗口和頁面刷新不工作了,你可以看看你自己:http://protoys.gentex.com.au/Products/Catalogue.aspx你會發現在產品 – user2034164

+0

前刪除警告框然後刪除彈出窗口,其方便。 –

+0

夥計,你沒有包括,onchange事件。 USE like above:onchange =「location = this.options [[this.selectedIndex]]。」 –