2011-08-04 3 views
2

작동하지 : 내가 변경 한 http://jqueryui.com/demos/autocomplete/#multipleJQuery와 자동 선택은 내가이 페이지 떨어져 소스를 사용했습니다 IE8

모든 목록입니다. 이것은 파이어 폭스에서 잘 작동하지만 아래 메시지가있는 IE에서는 실패합니다.

준수 태그 중 하나를 추가해야합니까?

웹 페이지 오류 세부

사용자 에이전트 : Mozilla/4.0 (호환; MSIE 8.0; 윈도우 NT 6.0 삼지창/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.5.30729, .NET CLR 3.0.30618) 타임 스탬프 : 2011 년 8 월 3 일 수요일 15:56:02 UTC

메시지 : 'label'이 null이거나 개체가 아닙니다. Line : 329 Char : 114 코드 : 0 URI : ../jquery-ui-1.8.14.custom.min.js

메시지 : 'label'은 (는) null입니다. R 아닌 객체 줄 : 329 문자 : 114 번호 : 0 URI가 : ../jquery-ui-1.8.14.custom.min.js

<script type="text/javascript"> 
    $(function() { 
     var tagsArray = [<?php foreach($tags as $tag){echo '"'.$tag->name.'",';} ?>]; 
     function split(val) { 
      return val.split(/,\s*/); 
     } 
     function extractLast(term) { 
      return split(term).pop(); 
     } 

     $("#tags") 
      .bind("keydown",function(event){ 
       if(event.keyCode === $.ui.keyCode.TAB && 
         $(this).data("autocomplete").menu.active){ 
        event.preventDefault(); 
       } 
      }) 
      .autocomplete({ 
       minLength: 0, 
       source: function(request, response){ 
        response($.ui.autocomplete.filter(
         tagsArray, extractLast(request.term)));}, 
       focus: function() {return false;}, 
       onSelect: function() {}, 
       select: function(event, ui){ 
        var terms = split(this.value); 
        terms.pop(); 
        terms.push(ui.item.value); 
        terms.push(""); 
        this.value = terms.join(", "); 
        return false; 
       } 
      }); 
    }); 
</script> 
+0

해당 배열의 내용을 게시 할 수 있습니까? IE에 질식하는 이상한 가치가있을 수 있습니까? –

+0

나는 이것을 되돌리려 고 시도했다. var tagsArray = [ "apples", "pears", "oranges"]; 같은 문제가 있습니다 – jdborg

+0

IE9 및 IE7/8 compat에서이 기능이 작동합니다. 모드 : http://jsfiddle.net/M3VKR/ –

답변

4

그것은의 말에 , 후행 것 list (허용되는 대부분의 다른 언어이지만 IE8에서는 JS가 아닌 것처럼 보임). 도와 주셔서 감사합니다!