首頁 > web前端 > js教程 > 主體

在jquery中combobox多選的不相容問題總結_jquery

WBOY
發布: 2016-05-16 17:07:20
原創
1558 人瀏覽過

最近在IE10中開發jquery,關於jquery中combobox多選不能相容的問題,進行一些總結。

當combobox設定屬性「multiple:true」時,IE10無法完成多選,其報錯誤如下:

複製代碼



複製代碼



複製代碼

程式碼如下:


function _7e8(_7e9,_7ea){
var _7eb=$.data(_7e9,"combobox");
var opts=7. ;
var _7ec=$(_7e9).combo("getValues");
var _7ed=_7ec.indexOf(_7ea "");//10650行這裡報錯if(_7ed>=0) { _7ec.splice(_7ed,1); _7e7(_7e9,_7ec); 也就是在F12中報不支援indexOf方法,現在對這個問題有兩種解決方案:
1.修改源碼

將以上代碼修改為




複製代碼


代碼如下:


function _7e8(_7e9,_7ea){
var _7eb=$.data(_7e9,"combobox");
var opts=_7eb.options ;
var _7ec=$(_7e9).combo("getValues");
var _7ed = (function(arr,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); _7e7(_7e9,_7ec); }


2.加入indexOf方法




複製程式碼

程式碼如下:
if(!Array.prototype.indexOf){ Array.prototype.indexOf = function(target){ for(var i=0,l=this.length ;iif(this[i] === target) return i; } return -1; }; } 其實我還蠻推薦第一種方法的,因為比較方便,我就是用的第一種方式。
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!