채택완료

셀렉트 박스 (펼침메뉴) 링크이동완료후 이동된 셀렉트메뉴를 표시하고싶습니다.

2015-01-12 (월) 16:19:07 6,279

Copy
<!doctype html><html lang="KO"><head><title> </title><script type="text/javascript">function go_url(url){    if(url) window.open(url, "main", " ");   // 2번째는 팝업 이름입니다.    document.getElementById("select").options[0].selected = true;}</script></head><body><select name="select" id="select" onchange="window.location=this.value">    <option>---목록에서 선택하세요---</option>    <option value="http://naver.com">공지사항</option>    <option value="http://naver.com">사진</option>    <option value="http://naver.com">고객센터</option></select></body></html>

현재 소스는 이렇게 사용하였고, 메인페이지와,서브페이지가 두개로 나뉘어져있습니다.

메인페이지에서 공지사항 셀렉트를 선택후 링크이동을 한후 셀렉트박스안에서 
목록에서 선택하세요. 가 아닌 현재 내가 이동한 링크페이지의 이름. (공지사항)이 표시가되게하고싶습니다..ㅠㅠ
|

답변 2개 / 댓글 2개

채택된 답변
+20 포인트
2015-01-12 (월) 18:00:08

get으로 넘겨서 받으면 되겠네요.

스크립트만써서 받으면 나중에 추가로 값을 더넘겨줘야할때가되면 정규식 써서 잘라내야해서 소스가길어지고, php로만 처리하면 셀렉트의 옵션들이 지저분해지니깐. php로 받아서 스크립트로 처리하세요.

Copy
<script>document.getElementById("select").selectedIndex="<?=$_GET[value]?>";</script><select name="select" id="select" onchange="window.location=this.value">    <option>---목록에서 선택하세요---</option>
    <option value="http://naver.com?value=1">공지사항</option> // 뒤에 파라미터 적어준거 value=숫자
    <option value="http://naver.com?value=2">사진</option> // 이거를 메인페이지에도 추가해주셔야해요
    <option value="http://naver.com?value=3">고객센터</option> // 그래야 구분값으로 쓸수있어요.</select>

답변에 대한 댓글 2개

2015-01-13 (화) 02:12:39
아.. 정말 감사합니다 get값으로 넘겨받으면된다고 까진 찾았는데
예제소스가없어서 어떻게 짜야할지 막막했는데 너무고맙습니다!
죄송하지만 추가적으로 파라미터와 벨류에 숫자는
어떤건지 ...
2015-01-22 (목) 15:37:47
파라미터는 <option value="http://naver.com?value=1">공지사항</option> 여기에서 ?다음에 value=1 이게 파라미터이구요

value는 select option의 몇번째인지를 알기위해 넘겨주는거에요.

위에 스크립트에서 selectedIndex=숫자 이게 "select option의 숫자를 선택한다"라는 거에요.

만약 위에처럼 <option value="http://naver.com?value=1">공지사항</option> 이거를 선택한다면 앞의 url로 넘어가서 뒤의 파라미터값을 스크립트에서 읽게되겠죠. 여기에 1이니깐 select라는 아이디를 가지는 태그의 선택을 value=1이라고 넘어온 1번째를 선택하는거에요.

저도 마침 지금 질문자님의 이 부분을 찾고있었는데...ㅠㅠ

해결보셨으면 저도 좀알려주세요 ㅠㅠ

지금 답글써주신걸로는 조금 이해가 안되서요 ㅠㅠ 

답변을 작성하려면 로그인이 필요합니다.