최근 IE10에서 jquery를 개발하면서 jquery에서 콤보박스 다중 선택의 호환되지 않는 문제에 대해 요약했습니다.
콤보박스에 "multiple:true" 속성을 설정하면 IE10에서 다중 선택을 완료할 수 없으며 오류는 다음과 같습니다.
function _7e8(_7e9,_7ea){
var _7eb=$.data(_7e9,"combobox")
var opts=_7eb.options ;
var _7ec=$(_7e9).combo("getValues");
var _7ed=_7ec.indexOf(_7ea "");//여기 10650행에 오류가 보고되었습니다.
if(_7ed>=0) {
_7ec.splice(_7ed,1);
_7e7(_7e9,_7ec)
indexOf 메서드는 F12에서 지원되지 않습니다. 이제 이 문제에 대한 두 가지 해결 방법이 있습니다. 해결 방법:
1. 소스 코드 수정
위 코드를
으로 수정합니다. 코드 복사 코드는 다음과 같습니다.
function _7e8(_7e9,_7ea){
var _7eb =$.data(_7e9,"combobox");
var opts=_7eb.options
var _7ec=$(_7e9).combo("getValues"); ,str){
str = str "";
for(var i =0,l=arr.length;iif(arr[i] == str) return i;
}
return -1;
})(_7ec ,_7ea)
if(_7ed >= 0){//2013-6-25 19:04에 수정됨 >_7ec.splice(_7ed,1);
_7e9,_7ec)
}
2. 🎜>
코드 복사
코드는 다음과 같습니다. if(!Array.prototype.indexOf){ Array .prototype.indexOf = function(target){ for(var i=0,l =this.length;i
if(this[i] === target) return i; }
return -1;
};
}< ;/strong>
사실 첫 번째 방법이 더 편리하기 때문에 추천합니다. 저는 첫 번째 방법을 사용합니다.