2012-10-06 2 views
1

나는 다음과 같은 HTML이 :선택 변경 사업부와 주 또는 문

<option value="55">Clothing - Mens</option> 
<option value="56">Clothing - Womens</option> 
<option value="67">Film Music & Books</option> 
<option value="69">Food & Drink</option> 

내가 사업부 중 하나를 보여주고 싶다 "의류 - 남성"또는 - 선택 "의류 여자"를, 그래서 내가 사용을 이는 완벽하게 작동합니다.

$(document).ready(
function(){ 
    $('#category').change(
     function(){ 
      if ($(this).val()) { 
       $('input:submit').attr('disabled',false); 

       if (($(this).val() == '55') || ($(this).val() == '56')) { 
        $('#fashion').show(); 
        } else { $('#fashion').hide(); } 

      } else { 
       $('input:submit').attr('disabled',true); 
      } 
     }); 

}); 

하지만 단축 할 수있는 방법이 있습니까? 다음 두 가지 모두 시도했지만 작동하지 않음

if ($(this).val() == ('55','56')) { 

if ($(this).val() == ('55' || '56')) { 

위의 두 가지 경우 모두 옵션 값 56은 작동하지만 55는 작동하지 않습니다.

답변

2
당신이 jQuery의 inArray을 사용할 수 있습니다

..

http://api.jquery.com/jQuery.inArray/

if ($.inArray($(this).val(),["55","56"]) != -1) { 

작업을 예 .. http://jsfiddle.net/FYNKc/1/

+0

감사의 부 나를 위해 일하지 않아. 아무것도 밖으로 던지고 있는지 확인하는 데 사용하는 전체 js 코드를 사용하여 질문을 업데이트했습니다. –

+0

응답을 업데이트했습니다. 문제는 56이라는 문자열을 "56"문자열과 비교한다는 것입니다. –

+0

완벽하고 많은 감사합니다. 너를 도와 줘. –

0

할 수 있습니다 직접 우리 this.value 대신 답변 $(this).val();

if ($.inArray(this.value, ['55','56']) != -1) { 
+0

해답을 주셔서 감사 합니다만 나에게 도움이되지 않습니다. 아무것도 그것을 밖으로 던지고 있는지 확인하는 데 사용하는 전체 js 코드로 업데이트 된 querstion 있습니다. –