2014-11-26 2 views
0

이것은 아마도 매우 기본적인 질문 일뿐입니다. 그러나 나는 그것을 파악하지 못했습니다. 아래 코드에서 select-option 블록이 있음을 알 수 있습니다. 그것은 잘 작동합니다. 유일한 문제는 옵션 중 하나를 선택하면 해당 페이지로 리다이렉트됩니다. 은 select-option 기능의 기본값 ("Sort ...")을 유지합니다. 선택한 옵션 요소를 선택하십시오

<select name="sort" onchange="location = this.options[this.selectedIndex].value;"> 
    <option value="">Sort...</option> 
    <option value="index.php?ascending=true">Preis aufsteigend</option> 
    <option value="index.php?descending=true">Preis absteigend</option> 
    </select> 

사용자가 "Preis의 aufsteigend"선택

, 나는

은 아무도 도와 드릴까요 ... 분야에서 해당 옵션에 표시되는 를 원하십니까? 미리 감사드립니다.

+1

무엇 '틱'당신이 언급하는? – George

+0

√ <- 선택 필드에서 옵션을 선택하면 나타나는 간단한 틱입니다. 그것은 내 경우에 잘못된 장소에 있습니다. 옵션 2 또는 3을 선택하는 경우에도 항상 "정렬 ..."- 값으로 유지됩니다. – Frank

+0

@ 조지 (Gorge) 그는 그가 선택한 것을 의미하는 –

답변

1

onchange 기능을 취소해야합니다. 페이지로드시 설정 한 URL 변수를 찾은 다음 적절한 옵션을 선택하십시오.

스크립트

var sel = document.getElementById('sort'); 
var opts = sel.options; 
for(var opt, j = 0; opt = opts[j]; j++) { 
    if(window.location.search.indexOf(opt.value.split('?')[1]) > -1) { 
     sel.selectedIndex = j; 
     break; 
    } 
} 

HTML

<select id="sort" name="sort" onchange="location = this.options[this.selectedIndex].value;"> 
    <option value="">Sort...</option> 
    <option value="index.php?ascending=true">Preis aufsteigend</option> 
    <option value="index.php?descending=true">Preis absteigend</option> 
</select> 

http://jsfiddle.net/t95wqm48/

+0

고맙다. 이것은 나를 위해 일했다. 폴 환호 – Frank

관련 문제