imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 15.05.2002, 10:39     # 1
KIT
Guest
 
Сообщения: n/a

Question Выбор строки в таблице ...

Вообщем у меня возник такая проблема. Есть таблица(несколько столбцов, несколько строк). Нужно сделать так чтобы при выборе какой-то строки (мышкой или курсором) запоминались данные этой строки (для передачи к следующей странице)?
Заодно ещё один вопрос.
Как сделать подсветку всей строки при указании её (мышкой или курсором)?
 
Старый 15.05.2002, 16:17     # 2
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

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

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

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


вроде так, гарантии не даю :xex:
Stasik вне форума  
Старый 15.05.2002, 16:48     # 3
KIT
Guest
 
Сообщения: n/a

как передать-то параметр я знаю, а как узнать на какой строке находиться курсор мыши и какузнать содержимое этой строки.
Подсветку всей строки к примеру.
если я буду менять bgcolor у tr тогда он смениться у всех tr таблы, а мне нужно токо у того над которым курсор.
 
Старый 15.05.2002, 17:47     # 4
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
так...


<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>

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

Последний раз редактировалось Stasik; 15.05.2002 в 18:15.
Stasik вне форума  
Старый 16.05.2002, 08:03     # 5
KIT
Guest
 
Сообщения: n/a

... чё-то не робит ...
 
Старый 16.05.2002, 11:50     # 6
neomaster
Guest
 
Сообщения: n/a

<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)'>

з.ы.
проверенно в ИЕ, работает
ниже приаттачил файл тестовый
Вложения
Тип файла: zip test.zip (564 байт, 3 просмотров - Кто скачивал? )
 
Старый 16.05.2002, 12:10     # 7
KIT
Guest
 
Сообщения: n/a

Спасибо большое. Подсветка работает. ))) .. я просто рад.
Там токо выдаёт ошибку на клик.
 
Старый 16.05.2002, 12:29     # 8
KIT
Guest
 
Сообщения: n/a

В догонку ещё один вопрос. А как узнать значения ячеек в этой строке (примеру после двойного клика)?
 
Старый 16.05.2002, 13:22     # 9
neomaster
Guest
 
Сообщения: n/a

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

Код:
<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>
а вот по поводу твоего второго вопроса, я тебе помочь не смогу

Последний раз редактировалось neomaster; 16.05.2002 в 14:10.
 
Старый 16.05.2002, 13:37     # 10
KIT
Guest
 
Сообщения: n/a

... ну чтобы не было ошибок нужно убрать лишнее - это и так понятно ... мне просто было интересно что это такое...
И ещё раз повторю СПАСИБО ...
А по поводу второго вопроса ... может кто знает как это можно реализовать через xml, к примеру ... я вот сейчас сижу и пытаюсь попробовать, но так как особо не знаю его, то увы пока не получается ... ((
 
Старый 23.05.2002, 17:05     # 11
KIT
Guest
 
Сообщения: n/a

уже сам разобрался ...

... .. сабж, но если кому-то интересно то вот ловите ...
Код:
<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)">
) Усё ... всем спасибо за участие и помощь
 

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


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




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