2009-12-30 6 views
1

두 개의 선택 입력이 표시되도록 설정되었습니다. 다른 요소에서 change()을 기반으로하면 show() 또는 hide()에 jQuery를 사용합니다. "Something went wrong ..."메시지와 함께 죽는 Chrome을 제외하고 모든 브라우저 테스트가 훌륭합니다. 내 기능은 다음과 같습니다선택 요소 표시 및 숨기기 Chrome을 죽입니다.

$(document).ready(function(){ 
    $("#supplier_type").change(function() { 
     if ($("#supplier_type").val() == 'Wholesaler') { 
     $("#retail_fulfillment").hide("slow"); 
     $("#retail_fulfillment").val(""); 
     $("#wholesale_fulfillment").show("slow"); 
     } else { 
     if ($("#supplier_type").val() == 'Retailer') { 
     $("#wholesale_fulfillment").hide("slow"); 
     $("#wholesale_fulfillment").val(""); 
     $("#retail_fulfillment").show("slow"); 
     } 
     } 
    }); 

누구든지 이에 대한 조언이 있습니까?

+0

매개 변수없이'hide()'메서드를 호출 해 보았습니까? – naivists

+0

감사합니다 naivists! 내가 show()와 hide()에 args를 제거하면 에러가 제거된다는 것을 알 수 있습니다. – jerrygarciuh

답변

0

위의 naivists의 의견 위에는 매개 변수없이 hide()를 호출 해 보았습니다. 이 방법으로는 문제가 해결되지 않았지만 show() 및 hide()에서 args를 제거하면 Chrome의 문제가 해결되었습니다.

1

#wholesale_fulfillment#retail_fullfillment은 모두 선택 요소입니다. 그렇지 않습니까? select 요소의 값을 nothing으로 설정합니다. 나는 그것이 문제라고 생각한다. 그것은 불가능.

이 코드가 될 것이다 : 당신은 여전히 ​​그 <option/> -tag에 클래스를 추가하고 주석 자바 스크립트 코드의 주석, 빈 값과 <option/> -tag을 선택합니다

$(document).ready(function(){ 
    $("#supplier_type").change(function() { 
     if ($(this).val() == 'Wholesaler') { 
      $("#retail_fulfillment").hide("slow") 
      //$("#retail_fulfillment").find('option.empty').attr('selected', 'selected'); 
      $("#wholesale_fulfillment").show("slow"); 
     } else { 
      if ($(this).val() == 'Retailer') { 
      $("#wholesale_fulfillment").hide("slow"); 
      //$("#wholesale_fulfillment").find('option.empty').attr('selected', 'selected'); 
      $("#retail_fulfillment").show("slow"); 
      } 
     } 
    }); 
}); 

:

<select id="#wholesale_fulfillment"> 
    <option value="" class="empty">---</option> 
    <option value="something">Wholesaler</option> 
</select> 
+0

답장 Harmen에 감사드립니다. 나는 값 설정 라인을 철저히 지우려고했지만 크롬은 여전히 ​​죽는다. Asa 추가 테스트에서는 show() 및 hide() 호출을 주석 처리하고 Chrome이 멈추는 것을 중단했습니다. – jerrygarciuh

+0

show()가 호출되지 않았을 때 크롬이 멈추었습니다. hide()를 주석 처리해도 아무 효과가 없습니다. – jerrygarciuh

관련 문제