ホームページ > ウェブフロントエンド > jsチュートリアル > jquery_jquery でのコンボボックスの複数選択に関する非互換性の問題の概要

jquery_jquery でのコンボボックスの複数選択に関する非互換性の問題の概要

WBOY
リリース: 2016-05-16 17:07:20
オリジナル
1600 人が閲覧しました

最近、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);


つまり、この問題には、indexOf メソッドがサポートされていません。解決策:

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
})(_7ec ,_7ea); 2013-6-25 19:04 に更新
_7ec.splice(_7ed,1);
_7e9,_7ec)


2. メソッド



コードをコピーします
コードは次のようになります: if(!Array.prototype.indexOf){ 配列.prototype.indexOf = function(target){ for(var i=0,l =this.length;iif(this[i] === target) return i;
}
return -1;
}
}


実際には、最初の方法の方が便利なので、私は最初の方法を使用します。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート