问题描述
- ie8下 JS全选功能报错 求达人帮忙看下代码
-
// ????
function autoCalDaysNm() {
for(var j=1; j<=29; ++j) {
var el = $("#writeForm input[name=atdDay" + j + "]");
var d = Date.parse("2016/02/" + el.val());
if (d) {
var t = d.toString("ddd");if (t == "?") { $("label", el.parent()).html(gDayOfWeek1[t]); } else if (t == "?") { $("label", el.parent()).html(gDayOfWeek1[t]); } else { $("label", el.parent()).html(gDayOfWeek1[t]); } if(t == "?" || t.toUpperCase() == "SAT" || t == "?" || t.toUpperCase() == "SUN") { checkDaysAll("tmpCheckDaysAll_" + j, "stsStat" + j, "stsStatDay" + j, "DEF"); } } } } // ????????? function f_fixDayCnt(aData) { var stsFixdayCnt = $("#stsFixdayCnt"); for(var i=0; i<atdRealPrsn; ++i) { if($("#writeForm input[name=stsFixdayCnt]:eq(" + i + ")").val() == "") { $("#writeForm input[name=stsFixdayCnt]:eq(" + i + ")").val(aData); } } // ????? calculate(); } // ???? function checkMonthAll() { var stsStat = []; var stsStatDay = []; var attendType = ""; if ($("#writeForm input[name=tmpCheckMonthAll]").prop("checked")) { attendType = $("#attendType").val(); } for(var j=1; j<=29; ++j) { stsStat[j-1] = $("#writeForm input[name=stsStat" + j + "]"); stsStatDay[j-1] = $("#writeForm input[name=stsStatDay" + j + "]"); } for(var i=0; i<atdRealPrsn; ++i) { for(var j=1; j<=29; ++j) { var stsStatDayVal = trim(stsStatDay[j-1][i].value); // Y:?????, N:?????? ???(?,?), X:?????????? // ??????? ????. (??? ? ?????? ??) if (stsStatDayVal == "Y") { stsStat[j-1][i].value = attendType; } } } // ????? calculate(); } // ??????? function checkDaysAll(pCheckDaysAll, pstsStat, pstsStatDay, aType) { var attendType = ""; // ????? ?,?? ?????? ?? if(aType=="DEF") { attendType = "/X"; } else { if ($("#writeForm input[name=" + pCheckDaysAll + "]").prop("checked")) { attendType = $("#attendType").val(); } else { attendType = ""; } } for(var i=0; i<atdRealPrsn; ++i) { var stsStatDayVal = $("#writeForm input[name=" + pstsStatDay + "]:eq(" + i + ")").val(); stsStatDayVal = stsStatDayVal.toUpperCase(); // Y:?????, N:?????? ???(?,?), X:?????????? if (stsStatDayVal != "X") { // ??? ?????? ????? ?????? if(attendType=="") { if($("#writeForm input[name=" + pstsStatDay + "]:eq(" + i + ")").val()=="N") { attendType = "/X"; } } $("#writeForm input[name=" + pstsStat + "]:eq(" + i + ")").val(attendType); if(aType=="DEF") { $("#writeForm input[name=" + pstsStatDay + "]:eq(" + i + ")").val("N"); } } } // ????? calculate(); } // ???? ???? function checkMemAll(pCheckMemAll, aIdx) { var attendType = ""; aIdx--; if ($("#writeForm input[name=" + pCheckMemAll + "]").prop("checked")) { attendType = $("#attendType").val(); } else { attendType = ""; } for(var j=1; j<=29; ++j) { var stsStatDayVal = $("#writeForm input[name=stsStatDay" + j + "]:eq(" + aIdx + ")").val(); // Y:?????, N:?????? ???(?,?), X:?????????? // ??????? ????. (??? ? ?????? ??) if (stsStatDayVal == "Y") { $("#writeForm input[name=stsStat" + j + "]:eq(" + aIdx + ")").val(attendType); } } // ????? calculate(); } var atdRealPrsn = 4; var maxDayCha = 0; 这是一段全选复选框的JQ 在IE9以上都没问题 在IE8下 var stsStatDayVal = trim(stsStatDay[j-1][i].value); 这段总报错为空或不是对象,求高人解答 在线等 谢谢
解决方案
我写的东西刚好和你的相反,用其它浏览器正常,用IE8以下正常,IE8以上就出现畸形。
解决方案二:
一个全选复选框这多简单的东西,居然这么长?
$("input[name=checkbox]").attr("checked",true);
解决方案三:
var stsStatDayVal = trim(stsStatDay[j-1][i].value);
改成
var stsStatDayVal = trim(stsStatDay[j-1][0].value);
时间: 2024-08-03 10:47:13