2013-06-05 4 views
0

클래스 선택으로 선택 옵션을 클릭 할 때 함수를 호출해야합니다. 파이어 폭스, 인터넷 익스플로러, 오페라에서는 모두 잘 작동하지만 구글 크롬에서는 그렇지 않습니다.선택 옵션 작동하지 않음 Chrome

<fieldset class="suburbSelect"> 
    <label for="suburbSelect">Provincia</label> 
    <select class="suburbSelect"> 
     <option class="alessandria" value="Piemonte, Alessandria">Alessandria</option> 
     <option class="asti" value="Piemonte, Asti">Asti</option> 
     <option class="biella" value="Piemonte, Biella">Biella</option> 
     <option class="cuneo" value="Piemonte, Cuneo">Cuneo</option> 
     <option class="novara" value="Piemonte, Novara">Novara</option> 
     <option class="torino" value="Piemonte, Torino">Torino</option> 
     <option class="verbania" value="Piemonte, Verbano Cusio Ossola ">Verbano Cusio Ossola</option> 
     <option class="vercelli" value="Piemonte, Vercelli">Vercelli</option> 
    </select> 
</fieldset> 
jQuery(".alessandria").click(function(){ 
    alert(hello!); 
}); 
jQuery(".asti").click(function(){ 
    alert($(".asti").attr("class")); 
}); 

http://jsfiddle.net/all2aller/KqPCs/2/

나는 JQuery와 1.9.1을 사용하고 있습니다 :

여기에 코드입니다. 당신이있어 .... 클래스의 사용량이 경우에 아주 이상한,

alert("hello!"); 

둘째 :

alert(hello!); 

그것을해야한다 : 모든

+0

왜 이런 식으로해야합니까? – PSR

+0

작은 코드 수정 : "hello!" 따옴표를 사용하면 오류가 발생합니다. – BeNdErR

답변

0

: 내가 따라 여기 jsFiddle 업데이트되었습니다

$(".suburbSelect").change(function() { 
    var val = $(this).val(); 

    if (val == "Piemonte, Alessandria") { 
     alert("hello!"); 
    } else if (val == "Piemonte, Asti") { 
     alert($(".asti").attr("class")); 
    } 
}); 

:

대신,이 같은 jQuery의 변화()와 val() 함수를 사용할 수 있습니다 코드 및 데모 :

<script type='text/javascript' src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script type="text/javascript"> 
$(function() { 
    $(".suburbSelectElmnt").change(function() {   
     var activeClass = $(".suburbSelectElmnt option:selected").attr('class'); 
     switch (activeClass) { 
      case 'alessandria': 
      alert("hello!"); 
      break; 
      case 'asti': 
      alert(activeClass); 
      break; 
     } 
    }); 
}); 
</script> 
<fieldset class="suburbSelect"> 
    <label for="suburbSelect">Provincia</label> 
    <select class="suburbSelectElmnt"> 
     <option class="alessandria" value="Piemonte, Alessandria">Alessandria</option> 
     <option class="asti" value="Piemonte, Asti">Asti</option> 
     <option class="biella" value="Piemonte, Biella">Biella</option> 
     <option class="cuneo" value="Piemonte, Cuneo">Cuneo</option> 
     <option class="novara" value="Piemonte, Novara">Novara</option> 
     <option class="torino" value="Piemonte, Torino">Torino</option> 
     <option class="verbania" value="Piemonte, Verbano Cusio Ossola ">Verbano Cusio Ossola</option> 
     <option class="vercelli" value="Piemonte, Vercelli">Vercelli</option> 
    </select> 
</fieldset> 

Jsfiddle Code

+0

당신을 아주 많이 그리고 매우 흥미롭게 행크. 그러나 필자는 필요한 것을하기위한 또 다른 방법을 찾았으며 모든 브라우저에서 작동하는 것으로 보인다. http://jsfiddle.net/KqPCs/30/ –

+0

멋진 Bro !! 좋은 사람 :) –

0

첫째, 당신은 여기에 오타가 각 선택 옵션에 대한 클래스. 선택 상자의 값을 검사하는 비표준 방식입니다. 노력

다음

http://jsfiddle.net/KqPCs/5/

0

전원을 껐다가 다시 시도해 보셨습니까? :)

나는 똑같은 문제가 있었고 크롬을 다시 시작할 때 고정되었다.

관련 문제