Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/92: Рейтинг темы: голосов - 92, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 27.09.2009
Сообщений: 42
1

Получение номера строки таблицы, по которой кликнули

12.01.2011, 07:52. Показов 18072. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не подскажете, как можно из процедуры обрабки события onClick получить номер строки таблицы, на которую кликнули?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2011, 07:52
Ответы с готовыми решениями:

Как получить содержимое первой ячейки строки по которой кликнули?
Как получить содержимое первой ячейки строки по которой кликнули? Собственно таким кодом получаю...

Получение номера строки и столбца ячейки, в которой был изменен стиль
Доброе утро. Реализую редактор таблиц. Есть небольшой дизайнер внешнего вида таблицы. В таблице...

Получение номера взятой строки из memo, содержимое которой вставлено рандомно в memo
Вообщем есть текстовый файл, из которого берутся все строки, вставляются в memo, а из memo уже в...

Создайте матрицу 5х5, значение каждого элемента которой равно сумме номера строки и столбца на пересечение которой он находится.
Создайте матрицу 5х5. Значение каждого элемента которой равно сумме номера строки и столбца на...

8
6 / 6 / 1
Регистрация: 22.06.2010
Сообщений: 239
12.01.2011, 09:49 2
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
</head>
 
<body>
 
<table id=id>
<tr><td>dd</td></tr>
<tr><td>ddd</td></tr>
<tr><td>sfsfsasf</td></tr>
</table>
<script>
alert(document.all.id.rows.length)
</script>
 
</body>
</html>
0
0 / 0 / 0
Регистрация: 27.09.2009
Сообщений: 42
12.01.2011, 11:57  [ТС] 3
Так разве так получишь номер текущей строки
так, если не ошибаюсь только общее кол-во строк получить можно
Я вот как выкрутилься:
в каждом стобце в title записал номер строки
в обработчике события onclick вытягиваю window.event.srcElement.title
так вроде работает
0
6 / 6 / 1
Регистрация: 22.06.2010
Сообщений: 239
12.01.2011, 13:12 4
Ошибочка вышла
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<html>
<head>
<title>Untitled</title>
</head>
 
<body>
 
<table width='100%' cellpadding='0' border='1' id='t1' >
<tr onClick='nunu('Первая')'>
<td align='center'>asf</td>
<td  align='center' style='background-color:red '></td></tr>
<tr onClick='nunu('Вторая')'>
<td align='center'>asf</td>
<td align='center' style='background-color:red '></td></tr>
<tr onClick='nunu('Третья')' >
<td align='center'>asf</td>
<td align='center' style='background-color:red'></td></tr></table>
<script>
 
function nunu(aa){
alert(aa)
}
</script>
 
</body>
</html>
1
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
12.01.2011, 18:56 5
Для MSIE получилось сделать, а вот для Mozilla с Operа нет. Если получится и для них сделать, то напишу здесь.
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<script language='javascript'>
function showRow()
{
    // ищем родительский TR
    var tr = window.event.srcElement.parentElement;
    while ('TR' != tr.tagName) tr = tr.parentElement;
    // подсчитываем номер строки
    for (var row=0; tr!=null; tr=tr.previousSibling, row++);
    alert(row);
    //
    window.event.cancelBubble = true;
}
</script>
...
<table border='1' width='100%'>
<tr>
<td onclick='showRow()'><a href='javascript:void(1)' onclick='showRow()'>row 1, cell 1</a></td>
<td onclick='showRow()'>row 1, cell 2</a></td>
</tr>
<tr>
<td onclick='showRow()'><a href='javascript:void(1)' onclick='showRow()'>row 2, cell 1</a></td>
<td onclick='showRow()'>row 2, cell 2</a></td>
</tr>
<tr>
<td onclick='showRow()'><a href='javascript:void(1)' onclick='showRow()'>row 3, cell 1</a></td>
<td onclick='showRow()'>row 3, cell 2</a></td>
</tr>
</table>
0
3 / 3 / 6
Регистрация: 20.06.2010
Сообщений: 580
12.01.2011, 19:08 6
А обычный rowIndex не работает разве???
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<table>
<tr onClick='alert(this.rowIndex)'>
       <td>dfgdfg</td>
       <td>dfgdfg</td>
</tr>
<tr onClick='alert(this.rowIndex)'>
       <td>gdfg</td>
       <td>dfgsdfg</td>
</tr>
<tr onClick='alert(this.rowIndex)'>
       <td>bdbbv</td>
       <td>erer</td>
</tr>
<tr onClick='alert(this.rowIndex)'>
       <td>jjyyu</td>
       <td>muhg</td>
</tr>
<tr onClick='alert(this.rowIndex)'>
       <td>ghjgf</td>
       <td>setrer</td>
</tr>
</table>
0
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
13.01.2011, 10:51 7
Спасибо vers. Я упустил это свойство из вида. Причем что приятно, rowIndex определено в стандарте DOM.

Теперь еще бы понять как заставить работать showRow в Mozilla.
0
sashok
19.01.2011, 16:42 8
для большей кросбровзерности юзайте вместо tr.parentElement tr.parentNode - если еще ченить надо по данному вопросу - то оставте в этом топике вопрос - напишу как кросбровзерно это решить - а так чето сейчас писать лень
sashok
19.01.2011, 16:53 9
лано, опладисментов не нужно
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<html>
    <head>
        <script>
            function getParentNode(oThis, sNodeName) {
                while(oThis.nodeName != sNodeName && oThis.nodeName != 'BODY' )  {
                    oThis=oThis.parentNode;
                }
                return oThis.nodeName!='BODY'?oThis:null;
            }   
 
            function showRow(obj) {
                var tr = getParentNode(obj, 'TR');
                if(tr) {
                    alert(tr.rowIndex)
                }
            }
        </script>
    </head>
    <body>
        <table border='1' width='100%'>
            <tr>
                <td onclick = 'showRow(this)'>
                        sldnfl/sdnf/lsdnfv/sdfvns/fv
                </td>
            </tr>
            <tr>
                <td onclick = 'showRow(this)'>
                        sldnfl/sdnf/lsdnfv/sdfvns/fv
                </td>
            </tr>
            <tr>
                <td onclick = 'showRow(this)'>
                        sldnfl/sdnf/lsdnfv/sdfvns/fv
                </td>
            </tr>
        </table>
    </body>
</html>
19.01.2011, 16:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.01.2011, 16:53
Помогаю со студенческими работами здесь

Получение номера записи таблицы в форме
в форме есть подчиненная форма - таблица (поля код, название, и тп ) при работе с формой,...

Поиск строки в фале и получение номера строки
Как выполнить поиск в фале типа : link1 link2 link3 по части слова (Например &quot;lin&quot;) и получить...

Получение номера строки
Доброго времени суток. Есть StringGrid и PopupMenu. При щелчке по строке таблицы в одном из пунктов...

Изменение фона и цвета ссылки, по которой кликнули
Здравствуйте! Подскажите пожалуйста, почему не меняется цвет и фон ссылки, у которой ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru