在jquery中combobox多選的不兼容問(wèn)題總結(jié)
更新時(shí)間:2013年12月24日 16:06:47 作者:
最近在IE10中開(kāi)發(fā)jquery,關(guān)于jquery中combobox多選不能兼容的問(wèn)題,進(jìn)行一些總結(jié),感興趣的朋友可以了解下
最近在IE10中開(kāi)發(fā)jquery,關(guān)于jquery中combobox多選不能兼容的問(wèn)題,進(jìn)行一些總結(jié)。
當(dāng)給combobox設(shè)置屬性“multiple:true”時(shí),IE10無(wú)法完成多選,其報(bào)錯(cuò)如下:
function _7e8(_7e9,_7ea){
var _7eb=$.data(_7e9,"combobox");
var opts=_7eb.options;
var _7ec=$(_7e9).combo("getValues");
var _7ed=_7ec.indexOf(_7ea+"");//10650行 這里報(bào)錯(cuò)
if(_7ed>=0){
_7ec.splice(_7ed,1);
_7e7(_7e9,_7ec);
也就是在F12中報(bào)不支持indexOf方法,現(xiàn)在對(duì)這種問(wèn)題有兩種解決方案:
1.修改源碼
將以上代碼修改為
<strong>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;i<l;i++){
if(arr[i] == str) return i;
}
return -1;
})(_7ec,_7ea);
if(_7ed >= 0){//修改于 2013-6-25 19:04
_7ec.splice(_7ed,1);
_7e7(_7e9,_7ec);
}</strong>
2.加入indexOf方法
<strong>if(!Array.prototype.indexOf){
Array.prototype.indexOf = function(target){
for(var i=0,l=this.length;i<l;i++){
if(this[i] === target) return i;
}
return -1;
};
}</strong>
其實(shí)我還是蠻推薦第一種方法的,因?yàn)楸容^方便,我就是用的第一種方式。
當(dāng)給combobox設(shè)置屬性“multiple:true”時(shí),IE10無(wú)法完成多選,其報(bào)錯(cuò)如下:
復(fù)制代碼 代碼如下:
function _7e8(_7e9,_7ea){
var _7eb=$.data(_7e9,"combobox");
var opts=_7eb.options;
var _7ec=$(_7e9).combo("getValues");
var _7ed=_7ec.indexOf(_7ea+"");//10650行 這里報(bào)錯(cuò)
if(_7ed>=0){
_7ec.splice(_7ed,1);
_7e7(_7e9,_7ec);
也就是在F12中報(bào)不支持indexOf方法,現(xiàn)在對(duì)這種問(wèn)題有兩種解決方案:
1.修改源碼
將以上代碼修改為
復(fù)制代碼 代碼如下:
<strong>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;i<l;i++){
if(arr[i] == str) return i;
}
return -1;
})(_7ec,_7ea);
if(_7ed >= 0){//修改于 2013-6-25 19:04
_7ec.splice(_7ed,1);
_7e7(_7e9,_7ec);
}</strong>
2.加入indexOf方法
復(fù)制代碼 代碼如下:
<strong>if(!Array.prototype.indexOf){
Array.prototype.indexOf = function(target){
for(var i=0,l=this.length;i<l;i++){
if(this[i] === target) return i;
}
return -1;
};
}</strong>
其實(shí)我還是蠻推薦第一種方法的,因?yàn)楸容^方便,我就是用的第一種方式。
相關(guān)文章
jQuery實(shí)現(xiàn)可編輯表格并生成json結(jié)果(實(shí)例代碼)
這篇文章主要介紹了 jquery實(shí)現(xiàn)可編輯表格并生成json結(jié)果,該代碼解析和加載功能都用前端js實(shí)現(xiàn),簡(jiǎn)化了后臺(tái)代碼邏輯,非常不錯(cuò),具有參考借鑒加載,需要的朋友可以參考下2017-07-07jQuery Validate插件實(shí)現(xiàn)表單強(qiáng)大的驗(yàn)證功能
這篇文章主要介紹了jQuery Validate插件實(shí)現(xiàn)表單強(qiáng)大的驗(yàn)證功能,讓客戶端表單驗(yàn)證變得更簡(jiǎn)單,同時(shí)提供了大量的定制選項(xiàng),滿足應(yīng)用程序各種需求,感興趣的小伙伴們可以參考一下2015-12-12Jquery選擇子控件"大于號(hào)"和" "區(qū)別介紹及使用示例
Jquery選擇子控件”>“:在給定的父元素下匹配所有的子元素;另一個(gè)就是在給定的祖先元素下匹配所有的后代元素,具體概述及使用示例如下,感興趣的朋友可以參考下哈2013-06-06基于jquery的DIV隨滾動(dòng)條滾動(dòng)而滾動(dòng)的代碼
基于jquery的DIV隨滾動(dòng)條滾動(dòng)而滾動(dòng)的代碼,有了JQuery簡(jiǎn)單多了,就幾行代碼搞定2012-07-07基于jQuery實(shí)現(xiàn)頂部導(dǎo)航欄功能
這篇文章主要為大家詳細(xì)介紹了基于jQuery實(shí)現(xiàn)頂部導(dǎo)航欄功能,jQuery三級(jí)下拉列表導(dǎo)航菜單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12淺談jquery點(diǎn)擊label觸發(fā)2次的問(wèn)題
下面小編就為大家?guī)?lái)一篇淺談jquery點(diǎn)擊label觸發(fā)2次的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06