【发布时间】:2016-06-01 17:04:52
【问题描述】:
正如您在 sn-p 代码中看到的那样,以下代码在所有浏览器上都能完美运行,但在 IE8 上,当我单击复选框时,按钮(链接)supprimer 始终处于禁用状态,仅当我单击时才启用另一个选择全部的按钮。
您知道如何解决这个问题吗? 提前谢谢你。
function suppressionMultiple() {
var nbrChecked = function() {
var aptitudesASupprimer = jQuery('#Aptitudes :checked').length;
var aptitudesPresentes = jQuery('#Aptitudes input:checkbox').length;
if (aptitudesASupprimer == 0)
jQuery('#supprimer').removeAttr('href').removeClass("actifBtn").addClass("desactifBtn");
else
jQuery('#supprimer').attr('href','#').removeClass("desactifBtn").addClass("actifBtn");
};
nbrChecked();
jQuery( "#desactifBtn input[type=checkbox]" ).on( "change", nbrChecked);
};
function selectionner() {
jQuery('#Aptitudes input[type=checkbox]').prop('checked', true );
jQuery('#supprimer').attr('href', '#').removeClass("desactifBtn").addClass("actifBtn");
};
#selectionner {
float: left;
}
#supprimer {
float: right;
}
.categorieAptitudes label {
display: block;
padding-left: 2px;
}
#SupAptitudes {
margin-top: 0px;
margin-bottom: 5px;
padding-bottom: 10px;
}
a.actifBtn {
-webkit-border-radius: 1px;
-moz-border-radius: 1px;
border-radius: 1px;
border: solid thin #929292;
text-shadow: none;
background: #F6F6F6;
background-image: -webkit-linear-gradient(top, #F6F6F6, #DDDDDD);
background-image: -moz-linear-gradient(top, #F6F6F6, #DDDDDD);
background-image: -ms-linear-gradient(top, #F6F6F6, #DDDDDD);
background-image: -o-linear-gradient(top, #F6F6F6, #DDDDDD);
background-image: linear-gradient(to bottom, #F6F6F6, #DDDDDD);
color: buttontext;
text-decoration: none;
padding: 3px 8px;
}
a.actifBtn:hover {
background-image: -webkit-linear-gradient(top, #DDDDDD, #F6F6F6);
background-image: -moz-linear-gradient(top, #DDDDDD, #F6F6F6);
background-image: -ms-linear-gradient(top, #DDDDDD, #F6F6F6);
background-image: -o-linear-gradient(top, #DDDDDD, #F6F6F6, #DDDDDD);
background-image: linear-gradient(to bottom, #DDDDDD, #F6F6F6);
}
a.desactifBtn {
-webkit-border-radius: 1px;
-moz-border-radius: 1px;
border-radius: 1px;
border: solid thin #929292;
text-shadow: none;
background: #F6F6F6;
background-image: -webkit-linear-gradient(top, #F6F6F6, #DDDDDD);
background-image: -moz-linear-gradient(top, #F6F6F6, #DDDDDD);
background-image: -ms-linear-gradient(top, #F6F6F6, #DDDDDD);
background-image: -o-linear-gradient(top, #F6F6F6, #DDDDDD);
background-image: linear-gradient(to bottom, #F6F6F6, #DDDDDD);
color: grey;
text-decoration: none;
padding: 3px 8px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<div id="Aptitudes" onchange="suppressionMultiple();">
<div class="group">
<div class="nomCategorie"> Réinsertion - suivi</div>
<div class="categorieAptitudes" id="Réinsertion - suivi">
<label>
<input type="checkbox" value="1251"><span class="item-search">Appartement pour mise en situation d'autonomie</span>
</label>
<label>
<input type="checkbox" value="1282"><span class="item-search">Education du patient et de son entourage à domicile</span>
</label>
<label>
<input type="checkbox" value="1293"><span class="item-search">Equipe mobile, suivi à domicile</span>
</label>
</div>
</div>
</div>
<div id="SupAptitudes">
<a class="actifBtn" id="selectionner" onclick="selectionner();">Séléctionner tout</a>
<a class="desactifBtn" id="supprimer">Supprimer</a>
</div>
【问题讨论】:
-
版本说明:jQuery 正在放弃对 IE8 的支持...并且 IE8 已停用 年。尽量避免这种情况。
-
@Raptor 不幸的是:(
-
只在 css 中使用 actifBtn 而不是 a.actifBtn 尝试
-
@user2181397 还是一样
标签: javascript jquery internet-explorer-8