Собственно вот код:
Код:
|
<style>
.sdan{
display:none;
}
</style>
<form action="index.php" name="sort" method="post">
<script language="javascript">
if(document.getElementsByClassName == undefined) {
document.getElementsByClassName = function(cl) {
var retnode = [];
var myclass = new RegExp('\\b'+cl+'\\b');
var elem = this.getElementsByTagName('*');
for (var i = 0; i < elem.length; i++) {
var classes = elem[i].className;
if (myclass.test(classes)) {
retnode.push(elem[i]);
}
}
return retnode;
}
};
//фиксим ClassName под IE
var IE='\v'=='v'; //проверяю IE ли это
if(IE) {//если да
function r() {//не отрабатывает дисплей блок в ие
var elements = document.getElementsByClassName('sdan');
if(document.getElementById('cb').checked){
for (i = 0; i < elements.length; i++) {
elements[i].style.display = 'block';
}}else{for (i = 0; i < elements.length; i++) {
elements[i].style.display = 'none';
}}
}
}else{
function r() {
var elements = document.getElementsByClassName('sdan');
if(document.getElementById('cb').checked){
for (i = 0; i < elements.length; i++) {
elements[i].style.display = 'table-row';
}}else{for (i = 0; i < elements.length; i++) {
elements[i].style.display = 'none';
}}
}
}
function red() {//этот код работает нормально!!!!
var elements = document.getElementsByClassName('postdate');
if(document.getElementById('cb1').checked){
for (i = 0; i < elements.length; i++) {
elements[i].style.backgroundColor = '#F16969';
}}else{for (i = 0; i < elements.length; i++) {
elements[i].style.backgroundColor = '';
}}
}
</script>
<input type="checkbox" id="cb" onclick="r()" > Показать все заказы <br>
<input type="checkbox" id="cb1" onclick="red()" > Подсветить просроченные <br>
</form> |
Ну что table-row под IE работать не станет это понятно,
но чтобы block ...
По умолчанию класс "sdan" - display: none;
Если изменить "sdan" на display: block то скрипт со второго клика по чекбоксу начинает работать, правда криво как-то. С помощью этого скрипта нужно показать скрытые строки в таблице.
Собственно сабж.