2013-12-21 3 views
2

IE가 나를 혼란스럽게합니다. 나는 두 가지 목록을 가지고있다. 하나의 컨테이너.IE8은 요소를 복제하지 않습니다.

첫 번째 목록은 <option> 가지로 채워집니다. 어머니 분기.

두 번째 목록은 현재 비어 있습니다.

<div> 인 컨테이너는 모든 마더 가지의 하위 분기 중 <option>으로 채워진다. 그들 중 많은 수가 있습니다. 그러나이 컨테이너는 숨겨져 있습니다.

jQuery 코드를 작성하여 선택한 마더 가지의 하위 요소 인 일치 요소 세트를 선택하고 하위 분기 목록에 복제하십시오. 이 바이올린 행동에서 볼 수

검사 :

$(document).ready(function(){ 
    $('#branches').on('change', function(){ 
     var branch = $(this).val(); 
     var subholder = $('#subbranch-holder');    
     // $('#sub').empty();           
     $('#sub').html("<option value='false'>انتخاب زیر شاخه ها</option>"); 
     // console.log(subholder.children('option').length); 
     subholder.children('option').each(function(){ 
      if($(this).attr('id') == 'par'+branch) {        
       var tempItem = $(this); 
       // $("#sub").append('this is : '); 
       $(this).clone().appendTo("#sub"); 
      } 
     }); 
    }); 
}); 

그것은 IE를 제외한 모든 작동 : 여기 http://jsfiddle.net/mostafatalebi/6WQ9x/

는 자바 스크립트 코드입니다.

흥미로운 POINT 내가 clone() 대신에 다음 줄을 추가 할 때, IE가 작동하는 것입니다 :

$("#sub").append('IE is the worst browser'); 

IE jQuery와의 $(this)clone()

이전 버전이되었습니다에 문제가있는 것 같습니다 테스트를 거쳤습니다. 모두 같은 문제가 있습니다.

답변

2

이 문제의 해결책을 발견했습니다.

<option>은 다른 것보다 상당히 다르게 동작합니다.

내가 한 것은 태그 대신 <input> 태그를 사용하고 child-branch의 ID로 "value"속성을 채우고 "id"속성을 child-branch의 parent_id 앞에 "par "문자열을 사용하고 결국"name "속성을 사용하여 하위 분기의 제목으로 채 웁니다. Correspondingly 나는 jQuery에서 그들을 검색하고 그것은 효과가있다.

이 모든 노력은 IE8에 적용하기 위해 취해졌지만 사용이 제한되어 있지만 여전히 고객이 주장했습니다.

관련 문제