我需要找到一种方法来解决这个问题与 IE8
我有一张桌子,上面有我的列和行
<table>
<thead>
<tr class="body">
<th class="checkbox"><input class="forecast first" name="1" type="checkbox"></th>
<th class="checkbox"><input class="forecast second" name="2" type="checkbox"></th>
<th class="checkbox"><input class="forecast third" name="3" type="checkbox"></th>
<th class="checkbox"><input class="forecast any" name="any" type="checkbox"></th>
</tr>
</thead>
<tbody>
<tr class="body">
<td class="checkbox"><input class="forecast first" name="1" type="checkbox"></td>
<td class="checkbox"><input class="forecast second" name="2" type="checkbox"></td>
<td class="checkbox"><input class="forecast third" name="3" type="checkbox"></td>
<td class="checkbox"><input class="forecast any" name="any" type="checkbox"></td>
</tr>
<tr class="body">
<td class="checkbox"><input class="forecast first" name="1" type="checkbox"></td>
<td class="checkbox"><input class="forecast second" name="2" type="checkbox"></td>
<td class="checkbox"><input class="forecast third" name="3" type="checkbox"></td>
<td class="checkbox"><input class="forecast any" name="any" type="checkbox"></td>
</tr>
</tbody>
</table>
在我的列中有我的输入复选框,可用于以下组合:
oncheck: function(checkbox) {
if ($(checkbox).prop("checked")) { // checking
if ($(checkbox).hasClass('first')) {
$('.forecast[value="' + checkbox.value +'"]').prop("checked", false); // unmarking checkboxes in this row
$('.forecast.first').prop("checked", false); // unmarking checkboxes in this column
$('.forecast.any').prop("checked", false); // unmarking checkboxes in Any order column
$(checkbox).prop("checked", true);
}
if ($(checkbox).hasClass('second')) {
if ($('.forecast.first[value!="' + checkbox.value + '"]:checked').length > 0 ) {
$('.forecast.second').prop("checked", false); // unmarking checkboxes in this column
$('.forecast.third[value="' + checkbox.value +'"]').prop("checked", false); // unmarking 3rd checkboxes in this row
$(checkbox).prop("checked", true);
} else {
$(checkbox).prop("checked", false);
}
}
if ($(checkbox).hasClass('third')) {
if ($('.forecast.first[value!="' + checkbox.value + '"]:checked').length > 0 &&
$('.forecast.second[value!="' + checkbox.value + '"]:checked').length > 0) {
$('.forecast.third').prop("checked", false); // unmarking checkboxes in this column
$(checkbox).prop("checked", true);
} else {
$(checkbox).prop("checked", false);
}
}
if ($(checkbox).hasClass('any')) {
// unmarking checkboxes in columns : 1st 2nd 3rd
$('.forecast.first').prop("checked", false);
$('.forecast.second').prop("checked", false);
$('.forecast.third').prop("checked", false);
$(checkbox).prop("checked", true);
}
}
else {
if ($(checkbox).hasClass('first')) {
$('.forecast').prop("checked", false); // unchecking all
}
if ($(checkbox).hasClass('second')) {
$('.forecast.third').prop("checked", false); // unchecking all third class
}
}
}
};
这基本上意味着:
第二列的输入只有在第一列的输入被勾选的时候才能被勾选,第三列的输入只有在第二列的输入被勾选的时候才能被勾选
不能在同一行中检查所有输入,而只能在行中检查一个输入
当输入任何被选中时,所有其他输入都未选中
在任何浏览器(Safari、Chrome 和 IE 10 和 9)中一切正常,来自 IE8 的一部分,我无法检查我的第一个输入。
显然问题来自脚本,我需要一些关于如何解决它的提示。
只是为了获得更多信息而不是prop
我以前使用的attr
,它在 IE 中根本不起作用。
所有的建议,我想也许我可以为 ie8 破解一些 js