2014-06-13 1 views
0

바보 같이 간단히 드롭 다운 목록을 가지고 있는데, 선택하면이 목록에있는 값이 URL에 정렬을 추가합니다. 선택을 유지하지 않기 때문에 퍼즐 조각이 누락되었습니다. onchange는 페이지를 새로 고치며 값은 여전히 ​​URL로 전달되어 사용자에게 남아 있지만 선택하지 않았 음을 여전히 나타낼 수 있습니다. 그래서 ...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> 

어떤을 나는 아마도 onchange를하기보다는 현재 사용중인 리디렉션의 함수로 jQuery를 사용에서 찾고 있어요,하지만 난 어디이 꽤 새로운 오전으로 시작하는 아무 생각이 없다 도움이 대단히 감사하겠습니다 ...

+1

show jQuery code 또는 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 이벤트. 위와 같이 사용하십시오 : onchange = "location = this.options [[this.selectedIndex]]. 값" –