2013-03-11 3 views
0

내 html select의 3 가지 옵션 중 2 가지 세부 사항을 선택했는지 확인하고 싶습니다. 사실 로드시 jquery로 일부 attr이 선택되었는지 확인하십시오.

, 내 HTML :

if($('#reference').attr('selected',true)) 
    { 
     $('.showDetaillant').show(); 
    } 

보시다시피, 그것은 단지 확인 뭔가가 "선택"입니다 :

<select name="country" id="country" tabindex="7" style="width:128px; margin-right:26px;"> 
      <option selected="selected" name="0">Choisir...</option> 
      <option value="Canada" <?php if($pays == 'Canada'){echo "selected=selected";} ?>>Canada</option> 
      <option value="États-Unis" <?php if($state == 'États-Unis'){echo "selected=selected";} ?>>États-Unis</option> 
     </select> 

그리고 내 jQuery를 다음과 같은 것입니다. 기본적으로 이것은 "Choisir ..."옵션입니다.

원함 내가 원하는 것이 "Choisir ..."옵션이 선택되면 .hide()를 설정하는 것입니다.

들으

+0

읽어 선택한 옵션의 인덱스를 제공합니다 다음, 옵션 필드가 가질 수 없습니다 이름을 시도 할 수 있습니다. –

답변

1
<select name="country" id="country" tabindex="7" style="width:128px; margin- 
     right:26px;"> 
      <option selected="selected" value="0">Choisir...</option> 
    </select> 

<script> 
    $(document).ready(function() { 

     if($('#country').val()=="0") 
      $('.showDetaillant').show(); 
     }); 

<script> 
+0

나는 조금 생각한다. 진짜 대답은 @PSR 이었지만 undefined는 다소 좋았습니다. 나는 그것을 다른 곳에서 사용할 것입니다! –

2

당신은 페이지로드에서 선택한 옵션을 선택하려는 경우, selectedIndex 속성을 사용할 수 있습니다, 당신은 DOMReady에 change 이벤트를 트리거 할 수 있습니다.

$('#country').change(function(){ 
    if (this.selectedIndex === 0) { 
     $('.showDetaillant').show(); 
    } 
}).change(); 

http://jsfiddle.net/JfDZ4/

PS : 당신은 항상 true로하여 평가하는 jQuery를 객체를 반환하는 세터으로 attr를 사용하고 있습니다.

+0

설명해 주시겠습니까? change()가 두 번인 이유는 무엇입니까? –

+0

@Ravi 물론, 답변을 업데이트했습니다. – undefined

+0

나는 이것을 시도 할 것이다. 그것은 jsfiddle에 내가 찾고있는 것을하는 것처럼 보인다. –