Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.01.2016, 21:21
Интересующийся
Отправить личное сообщение для Dencho Посмотреть профиль Найти все сообщения от Dencho
 
Регистрация: 23.11.2015
Сообщений: 17

Доступ к елементу
Привет всем.

Нужна помощь, есть таблица с n-ный количеством рядков, некоторые ячейки обеднены по вертикали, и мне нужно так их и вывести. Но проблема с $(this).next().eq(0).text(), как мне указать следующий ряд используя i с цикла for ?
tr.each(function(k,elem){
        var h_td = $("td",this).eq(0).outerHeight();
        var td = $("td",this);
        if (td.hasClass('ktkv')){
            ReportLeftSrc += "<tr><td colspan='2' class='ktkv' style='border-right: none'>"+$('td',this).text()+"</td></tr>";
        }else{
            if(td.hasClass('number')){
                var row = $('td',this);
                var rowspan = row.attr('rowspan');
                    for (var i=0; i<rowspan; i++){
                        if(i==0){
                            ReportLeftSrc += '<tr style="height: '+h_td+' px"><td rowspan="'+rowspan+'" class="number" style="width: 23px; background-color: #ffffff">'+$('td',this).eq(i).text()+'</td><td class="name" style="background-color: #ffffff;width: 164px">'+$('td',this).eq(i+1).text()+'</td></tr>';
                        }else{
                            ReportLeftSrc += "<tr style='height: '"+h_td+"'px' class='ctr'><td class='name counter' style='background-color: #ffffff'>"+ $.trim($(this).next().eq(0).text())+"</td></tr>";
                        }
                    }
                //}
            }
        }
    });
Ответить с цитированием
  #2 (permalink)  
Старый 12.01.2016, 21:34
Профессор
Отправить личное сообщение для Keramet Посмотреть профиль Найти все сообщения от Keramet
 
Регистрация: 30.12.2015
Сообщений: 194

если в таблице есть <tbody>, то можно так:
var tbody = document.getElementsByTagName("tbody")[0];
tbody.rows[i].cells[j].textContent = "тру-ля-ля";
var str = tbody.rows[i].cells[j].textContent;

Последний раз редактировалось Keramet, 12.01.2016 в 21:36.
Ответить с цитированием
  #3 (permalink)  
Старый 12.01.2016, 21:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Dencho,
можно минимальный пример таблицы и результат того что хотите получить?
Ответить с цитированием
  #4 (permalink)  
Старый 12.01.2016, 22:51
Интересующийся
Отправить личное сообщение для Dencho Посмотреть профиль Найти все сообщения от Dencho
 
Регистрация: 23.11.2015
Сообщений: 17

<table border="1">
<tr><td class="ktkv" colspan="64">КТКВ(КФКВ): 070802</td></tr>
<tr>
<td class="number" rowspan="3">23.</td>
<td class="name">КСЗНРЗ “Дніпропетровський ...“</td>
<td>x</td>
<td>&nbsp;</td>
<td>x</td>
<td>&nbsp;</td>
<td>x</td>
</tr>    

<tr class="ctr ">    
<td class="name counter ">МВТ-2М №212644</td>
<td>x</td>
<td>&nbsp;</td>
<td>x</td>
<td>&nbsp;</td>
<td>x</td>
</tr>

<tr class="ctr ">    
<td class="name counter ">Ultraheat № 67632424</td>
<td>x</td>
<td>&nbsp;</td>
<td>x</td>
<td>&nbsp;</td>
<td>x</td>         
</tr>
            
<tr><td class="ktkv" colspan="64">КТКВ(КФКВ): </td></tr>
<tr>
<td class="number" rowspan="1">24.</td>
<td class="name">КЗО “Багатопрофільний...</td>
<td>x</td>
<td>&nbsp;</td>
<td>x</td>
<td>&nbsp;</td>
<td>x</td>         
</tr>

<tr>
<td class="number" rowspan="1">25.</td>
<td class="name">КЗО “Дніпропетровський ...“</td>
<td>x</td>
<td>&nbsp;</td>
<td>x</td>
<td>&nbsp;</td>
<td>x</td>         
</tr>
</table>


Получается надо перебрать все <tr> при этом сохранить объединенные рядки, верхний код работает но в ряде 23 будет "МВТ-2М №212644" 2 раза подряд, а мне бы сделать так чтоб отображался следующий текст, объединенных может рядков может быть много поэтому считываю " rowspan" и загоняю в for
Ответить с цитированием
  #5 (permalink)  
Старый 12.01.2016, 23:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Dencho,
увы пока ничего не понял ... ни 1 пост ни 4 может Keramet, обьяснит о чём речь?
Ответить с цитированием
  #6 (permalink)  
Старый 12.01.2016, 23:39
Интересующийся
Отправить личное сообщение для Dencho Посмотреть профиль Найти все сообщения от Dencho
 
Регистрация: 23.11.2015
Сообщений: 17

сейчас попробую ещё раз описать, есть допустим эта таблица, задача состоит в том что бы при скроле влево нужно зафиксировать номера рядков, строки "КТКВ" и текст который находится во втором столбике (КСЗНРЗ,МВТ-2М и т.д ), код выше это делает за исключение того, что когда попадается объединенная строка вроде 23-й я не могу коректно отобразить рядок который идет 3-й по счету.
if(i==0){
ReportLeftSrc += '<tr>
<td rowspan="'+rowspan+'">'+$('td',this).eq(i).text()+'</td> //номер рядка + rowspan
<td >'+$('td',this).eq(i+1).text()+'</td> // текст 1-й рядок
</tr>';
}else{
ReportLeftSrc += "<tr><td>"+ $.trim($(this).next().eq(0).text())+"</td></tr>";  // следующий рядок
}

$(this).next().eq(0).text() чем это можно заменить чтоб при прогоне в цикле for я бы мог использовать значение "i" ?
Если я выполню код который указал выше к таблице которая на скрине то получу
КСЗНРЗ “Дніпропетровський ...
МВТ-2М №212644
МВТ-2М №212644

а надо
КСЗНРЗ “Дніпропетровський ...
МВТ-2М №212644
Ultraheat № 67632424
Ответить с цитированием
  #7 (permalink)  
Старый 12.01.2016, 23:53
Профессор
Отправить личное сообщение для Keramet Посмотреть профиль Найти все сообщения от Keramet
 
Регистрация: 30.12.2015
Сообщений: 194

рони,
польщен возложенным на меня доверием
Ответить с цитированием
  #8 (permalink)  
Старый 12.01.2016, 23:58
Профессор
Отправить личное сообщение для Keramet Посмотреть профиль Найти все сообщения от Keramet
 
Регистрация: 30.12.2015
Сообщений: 194

а что такое ReportLeftSrc ?
Ответить с цитированием
  #9 (permalink)  
Старый 13.01.2016, 00:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Dencho,
если я вас правильно понял ...
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
</head>

<body>

<table border="1" class="x">
<tr><td class="ktkv" colspan="64">КТКВ(КФКВ): 070802</td></tr>
<tr>
<td class="number" rowspan="3">23.</td>
<td class="name">КСЗНРЗ “Дніпропетровський ...“</td>
<td>x</td>
<td>&nbsp;</td>
<td>x</td>
<td>&nbsp;</td>
<td>x</td>
</tr>

<tr class="ctr ">
<td class="name counter ">МВТ-2М №212644</td>
<td>x</td>
<td>&nbsp;</td>
<td>x</td>
<td>&nbsp;</td>
<td>x</td>
</tr>

<tr class="ctr ">
<td class="name counter ">Ultraheat № 67632424</td>
<td>x</td>
<td>&nbsp;</td>
<td>x</td>
<td>&nbsp;</td>
<td>x</td>
</tr>

<tr><td class="ktkv" colspan="64">КТКВ(КФКВ): </td></tr>
<tr>
<td class="number" rowspan="1">24.</td>
<td class="name">КЗО “Багатопрофільний...</td>
<td>x</td>
<td>&nbsp;</td>
<td>x</td>
<td>&nbsp;</td>
<td>x</td>
</tr>

<tr>
<td class="number" rowspan="1">25.</td>
<td class="name">КЗО “Дніпропетровський ...“</td>
<td>x</td>
<td>&nbsp;</td>
<td>x</td>
<td>&nbsp;</td>
<td>x</td>
</tr>
</table>
<table border="1" class="y" >


</table>
<script>
 var t = $('.x tbody').clone();
 t.find('.name').nextAll().remove()
 $('.y').append(t)
</script>
</body>

</html>
Ответить с цитированием
  #10 (permalink)  
Старый 13.01.2016, 03:03
Интересующийся
Отправить личное сообщение для Dencho Посмотреть профиль Найти все сообщения от Dencho
 
Регистрация: 23.11.2015
Сообщений: 17

Да это оно, спасибо .
Но еще нашёл вариант для своего кода который сверху
position = индекс элемента+поправка+мой цикл for
$('tr:eq('+position+')').find('.name').text()
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
из двух массивов jquery получить доступ к элементам и создать третий? ninja2 Общие вопросы Javascript 18 19.06.2015 15:12
Доступ к глобальному массиву. Anuar Общие вопросы Javascript 9 13.03.2015 12:40
Доступ к Apache в локальной сети из интернета bayah Оффтопик 2 23.07.2012 06:04
userJS доступ к переменным страницы (Chrome) DragorWW Opera, Safari и др. 2 13.07.2011 15:33
Как в jQuery получить доступ к фрейму или самому верхнему окну? Neokortex jQuery 7 20.12.2010 10:38