2013-08-08 3 views
0

데이터베이스의 테이블에서 데이터 목록을 만들려고합니다. 사용자가 하나만 선택할 수 있기 때문에 선택 옵션을 사용하여이 작업을 수행합니다.콤보 상자 옵션에서 브라우저 href를 변경하십시오.

나는이 방법에 그것을 할 :

<select name="test"> 
<option value="line1">Line1</option> 
<option value="line2">Line2</option> 
<option value="other.php" onClick="window.location.href='other.php'"> 
Other 
</option> 
</select> 

이 구글 크롬에서 IE와 파이어 폭스에서 작동하지만. 그들이 HREF가없는 나는 테이블의 기본 키 및 저장 뭔가를 얻기 위해 그 값을 필요로하기 때문에

그것은는 <select> -tag에 onClick을 넣을 수있는 옵션이 아니다.

도와 주시면 감사하겠습니다.

UPDATE

:이이 유효 HTML하지 Harry

<select name="test" onchange="this.options[this.selectedIndex].value.indexOf('.php')!=-1 && 
     (window.location = this.options[this.selectedIndex].value);"> 
<option value="line1">Line1</option> 
<option value="line2">Line2</option> 
<option value="other.php">Other</option> 
</select> 
+0

일반적으로, – NDM

답변

0

는 아래의 코드를 시도하고이 문제가 해결되는지 확인하십시오. 이 작업을 수행하려면 select 태그에 href 값이 필요하지 않습니다. href은 옵션의 value 태그 일 수 있습니다.

UPDATE : 아래의 코드는 리디렉션을 할 것입니다 만 선택된 옵션 태그의 value 그것에 .php이있는 경우. 처음 두 옵션의 경우 아무 조치도 취해지지 않습니다.

<select name="test" 
    onchange="this.options[this.selectedIndex].value.indexOf('.php')!=-1 && 
      (window.location = this.options[this.selectedIndex].value);"> 
    <option value="line1">Line1</option> 
    <option value="line2">Line2</option> 
    <option value="other.php">Other</option> 
</select> 
+0

이 링크 작동하지만했습니다 때 클릭 Line2, 그것은 Line1과 url을 반환 할 것입니까? line2 – Kenny

+0

@Kenny 그래서 세 번째 옵션 만 링크가 필요하고 다른 것은 필요하지 않습니다. 내 이해가 정확합니까? 다른 버전에 대한 답변의 업데이트를 확인하고 여전히 귀하의 사례를 해결하지 못했다면 알려주십시오. – Harry

+1

완벽하게 작동합니다! 고마워, 내 목숨을 구했어. – Kenny

0

해결, 내 경우에 대한 솔루션입니다. 적어도 있어야한다 :

<option value="other.php" onClick="window.location.href='other.php'"> 
+0

실례'

0

<select name="test" 
onchange="var val = this.value; 
    if (val.indexOf('other.php')!=-1) window.location=loc"> 
<option value="line1">Line1</option> 
<option value="line2">Line2</option> 
<option value="other.php">Other</option> 
</select> 
관련 문제