Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2012, 17:25   #1
bill
Форумчанин
 
Аватар для bill
 
Регистрация: 26.04.2007
Сообщений: 440
Восклицание Скрытие группы элементов

Здравствуйте! Есть конструкция такового вида:
Код:
<table>
  <tr id="a">
     <td>Тема</td>
     <td ><a onclick='del("a","quiz")' href='#'>Удалить</a>
     </td>
</tr>
  <tr id="a;b">
     <td>Название</td>
     <td ><a onclick='del("a","question")' href='#'>Удалить</a>
     </td>
 </tr>
  <tr id="a;b;c"><td>Текст</td>...</tr>
 .....
</table>
Необходимо скрыть все строки ,id которых содержит либо a,либо b(т.е мы выбираем удалить тему, удаляем заодно и название и текст).
мой js не работает. в чем проблема ?
Код:
function del(id,table){
    req =getXmlHttp();
    cur_id=id;
    cur_table=table;
    if (req) {
        req.open("POST", 'admin.php', true); //скрипт к которому обращаемся
        req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // заголовок в посте это обязательный атрибут
        req.onreadystatechange = afterDel; // обработчик приёма ответа
        req.send('type=delete&&table='+table+'&&id='+id); // значения
    }
}

function isHide(id){
    if (cur_table=='quiz'){
        ind=id.indexOf(';',0);
        a=id.slice(0,ind);
        if (cur_id==a){
            return true;
        }
        return false;
    }

    if (cur_table=='question'){
        ind=id.indexOf(';',0);
        ind2=id.lastIndexOf(';',0);
        a=id.slice(id,ind,ind2);
        if (cur_id==a)
        {return true;}
        return false;
    }
}

function afterDel(){
    try {
        if (req.readyState == 4) {
            if (req.status == 200) {
                var table=document.getElementById("tabst");

               
                for (var childItem in table.childNodes) {
                    id=childItem.getAttribute('id');// здесь ошибка

                    if (isHide(id))
                        childItem.style.display="none";
                }
                alert(req.responseText);
            } else {
                alert("Не удалось получить данные:\n" +
                    req.statusText);
            }
        }
    }
    catch( e ) {
        alert('Ошибка: ' + e.description);
    }
}

Последний раз редактировалось bill; 31.05.2012 в 17:32.
bill вне форума Ответить с цитированием
Старый 31.05.2012, 18:47   #2
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

А почему используется такой хитрый способ идентификации строк ?
Взять jquery нельзя ?
По делу :
1. table.childNodes - скорее всего браузеры приписывают <tbody> внутрь таблицы , поэтому <tr> находятся еще ниже
2. document.getElementById("tabst") - не нашел у вас в html элемента с таким Id

Последний раз редактировалось Cronos20; 31.05.2012 в 18:49.
Cronos20 вне форума Ответить с цитированием
Старый 01.06.2012, 14:13   #3
bill
Форумчанин
 
Аватар для bill
 
Регистрация: 26.04.2007
Сообщений: 440
Восклицание

Цитата:
Сообщение от Cronos20 Посмотреть сообщение
А почему используется такой хитрый способ идентификации строк ?
Взять jquery нельзя ?
По делу :
1. table.childNodes - скорее всего браузеры приписывают <tbody> внутрь таблицы , поэтому <tr> находятся еще ниже
2. document.getElementById("tabst") - не нашел у вас в html элемента с таким Id
1. JQuery взять можно, но брать его только для скрытия элементов- зачем?
2. вот насчет <tbody> не знал
3. да, извините, не дописал, <table id='tabst'>...</table>. у меня просто таблица эта генерируется в скрипте, взяв данные, передаваемые через AJAX.
bill вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрытие и отображение элементов ActiveX по условию Bozhkov Microsoft Office Excel 20 06.05.2012 16:01
Скрытие элементов haker270 Общие вопросы Delphi 9 25.04.2012 16:44
В массиве из п элементов много совпадающих элементов. Найти количество различных элементов Strax Фриланс 11 12.06.2010 20:13
Группы символов, состоящие только из латинских букв, если первая буква группы входит в нее еще только оди Ela Помощь студентам 0 29.04.2010 13:41
Строки(группы букв и группы знаков), Pascal Mrs Smith Помощь студентам 1 10.12.2009 16:31