IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   Выбор строки в таблице ... (https://www.imho.ws/showthread.php?t=4735)

KIT 15.05.2002 10:39

Выбор строки в таблице ...
 
Вообщем у меня возник такая проблема. Есть таблица(несколько столбцов, несколько строк). Нужно сделать так чтобы при выборе какой-то строки (мышкой или курсором) запоминались данные этой строки (для передачи к следующей странице)?
Заодно ещё один вопрос.
Как сделать подсветку всей строки при указании её (мышкой или курсором)?

Stasik 15.05.2002 16:17

ну с запоминанием можно менять value скрытых инпутов <input type=hidden name=value1 value=""> через JS document.all.value1.value="blabla";

подсветка будет геморне там просто: у ячеек или просто у всей строки <tr> надо менять bgcolor

document.all.str.bgcolor="#FF0000";


вроде так, гарантии не даю :xex:

KIT 15.05.2002 16:48

как передать-то параметр я знаю, а как узнать на какой строке находиться курсор мыши и какузнать содержимое этой строки.
Подсветку всей строки к примеру.
если я буду менять bgcolor у tr тогда он смениться у всех tr таблы, а мне нужно токо у того над которым курсор.

Stasik 15.05.2002 17:47

так...


<tr onmouseover="highlight(this, '#FF0000')" onmouseout="highlight(this, '#FFFFFF')">

Код:

<script>
function highlight(theRow, highlightColor)
{
    if (typeof(theRow.style) == 'undefined' || typeof(theRow.cells) == 'undefined') {
        return false;
    }

    var row_cells_cnt = theRow.cells.length;
    for (var c = 0; c < row_cells_cnt; c++) {
        theRow.cells[c].bgColor = highlightColor;
    }

    return true;
}
</script>


вроде так, опять таки, тестить мне в падлу, ничего не гарантирую

KIT 16.05.2002 08:03

:idontnow: ... чё-то не робит ...

neomaster 16.05.2002 11:50

Вложений: 1
<SCRIPT LANGUAGE="JavaScript">
function ou(d) {
d.style.backgroundColor='#474d6e'; // - цвет строки в "спокойном" состоянии
}
function ov(d) {
d.style.backgroundColor='#000000'; // - цвет строки при наведении курсора
d.style.cursor= 'hand';
}
function cl(d) {
d.children.tags('a')[0].click();
}
</script>

далее в тег <tr> приписываем onmouseout='ou(this)' onmouseover='ov(this)' onclick='cl(this)'

т.е. получица <tr onmouseout='ou(this)' onmouseover='ov(this)' onclick='cl(this)'>

з.ы.
проверенно в ИЕ, работает
ниже приаттачил файл тестовый

KIT 16.05.2002 12:10

Спасибо большое. Подсветка работает. :)))) .. я просто рад.
Там токо выдаёт ошибку на клик.
:smile:

KIT 16.05.2002 12:29

В догонку ещё один вопрос. А как узнать значения ячеек в этой строке (примеру после двойного клика)?

neomaster 16.05.2002 13:22

вот тебе код без ошибок:

Код:

<HTML>
<HEAD>
<TITLE></TITLE>
<META name="description" content="">
<META name="keywords" content="">
<META name="generator" content="CuteHTML">
<style type="text/css">
body {font-family: Verdana, Arial, Helvetica; font-size: 10pt;}
#tab_001  {border: #000000 solid; border-width: 1px; font-size: 8pt;}
</style>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080">

<SCRIPT LANGUAGE="JavaScript">
  function ou(d) {
        d.style.backgroundColor='#bebebe';
  }
  function ov(d) {
        d.style.backgroundColor='#cdcdcd';
  }
</script>

<table id="tab_001" bgcolor="#bebebe" align="center" border="0" cellpadding="5" cellspacing="0" cols="3" width="90%">
<tr onmouseout='ou(this)' onmouseover='ov(this)'>
<td align="left" valign="top" width="30%">1</td>
<td align="left" valign="top" width="30%">2</td>
<td align="left" valign="top" width="30%">3</td>
</tr>
<tr onmouseout='ou(this)' onmouseover='ov(this)'>
<td align="left" valign="top" width="30%">4</td>
<td align="left" valign="top" width="30%">5</td>
<td align="left" valign="top" width="30%">6</td>
</tr>
<tr onmouseout='ou(this)' onmouseover='ov(this)'>
<td align="left" valign="top" width="30%">7</td>
<td align="left" valign="top" width="30%">8</td>
<td align="left" valign="top" width="30%">9</td>
</tr>
</table>

</BODY>
</HTML>

а вот по поводу твоего второго вопроса, я тебе помочь не смогу

KIT 16.05.2002 13:37

... ну чтобы не было ошибок нужно убрать лишнее - это и так понятно :smile: ... мне просто было интересно что это такое...
И ещё раз повторю СПАСИБО ...
А по поводу второго вопроса ... может кто знает как это можно реализовать через xml, к примеру ... я вот сейчас сижу и пытаюсь попробовать, но так как особо не знаю его, то увы пока не получается ... :(((

KIT 23.05.2002 17:05

уже сам разобрался ...
 
... :) .. сабж, но если кому-то интересно то вот ловите ...
Код:

<script>
function ClickTr(elem) {
  var rs="";
  for (var i=0;i<elem.childNodes.lenght;i++) {
    rs+=childNodes[i].innerText;
  }
  alert(rs);
}
</script>

а в теле тэга tr прописать
Код:

<tr onclick="ClickTr(this)">
:)) Усё ... всем спасибо за участие и помощь


Часовой пояс GMT +4, время: 00:22.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.