Jump to content
  • 0

показ/скрытие строки таблицы


Sserg-135
 Share

Question

В таблице есть скрытая строка:

<TR COLSPAN=4 ID='other_model_TR' style='display:none;'>";
print "<TD CLASS='head' style='text-align:right;'>введите модель вручную:</TD>";
print "<TD CLASS='data'><input ID='other_model' name='other_model' type='text' value=''></TD>";
print "<TD CLASS='head'></TD><TD CLASS='data'></TD>";
print "</TR>

при выборе определенной опции списка, выполняется функция которая показывает эту скрытую строку:

function aaa()
{
var block = document.getElementById('other_model_TR' )
if ( условие ){
// если выбрана опция
// то показывем поле ручного ввода
block.style.display = "block";
} else{
block.style.display = "none";
}

}

В IE опять все прекрасно работает, строчка убирается и показывается целиком, а в Лисе3,0

строка сбивается влево , ширина всех четырех ячеек таблицы уменьшается до ширины первой ячейки , а на их месте пустое место цвета фона.

Что я сделал не так? Может к тэгу

Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0
А правильнее так:

block.style.display = "table-row";

А ещë правильнее менять классы.

мне кажется что эта запись неверна, так как согласно: http://htmlbook.ru/css/display.html

значение "table-row" не распознает IE.

Link to comment
Share on other sites

  • 0
А правильнее так:

block.style.display = "table-row";

А ещë правильнее менять классы.

мне кажется что эта запись неверна, так как согласно: http://htmlbook.ru/css/display.html

значение "table-row" не распознает IE.

Ну и что? Я же не писал для ИЕ, а написал как правильнее по "стандартам" w3c. :D Так-что всë верно.

Link to comment
Share on other sites

  • 0

у меня похожая проблема: есть таблица

<table>
<THEAD onclick=f('table1')>
<TR>
<TH>
Разделы
</TH>
</TR>

</THEAD>
<TBODY ID='table1' STYLE='display:none;'>
<tr><td>Раздел1</td></tr>
<tr><td>Раздел2</td><tr>
</TBODY>
</table>

и JavaScript функция

  function f(s)
{
var tabObj=document.getElementById(s);
if (tabObj.style.display='none')
{tabObj.style.display='block'}
else
{tabObj.style.display='none'}
}

В Опере и Эксплорере работает как и должно, в Лисе с каждым кликом на ШАпке таблицы расстояние между заголовком и телом таблицы увеличивается... Все margin и padding по нулям... как от этого избавиться?

Link to comment
Share on other sites

  • 0
у меня похожая проблема: есть таблица

А выше по ветке почитать решение религия не позволяет?

P.S. Лучший способ, по моему мнению, это добавлять и убирать класс, а не играться с присвоением display значения.

Link to comment
Share on other sites

  • 0
А выше по ветке почитать решение религия не позволяет?

P.S. Лучший способ, по моему мнению, это добавлять и убирать класс, а не играться с присвоением display значения.

Выше по ветке читал, но к сожалению не работает это дело, но к счастью понял в каком направлении искать=) в моём случае надо не table-row ставить, а table-row-group. но есть один момент: на сайте написано, то это свойство CSS IE не поддерживает, но тем не менее в моём случае все работает и в ИЕ (6) и в Опере? стоит оставлять это, или все таки лучше прописывать свойство в зависимости от браузера?

Edited by mujeek
Link to comment
Share on other sites

  • 0
Выше по ветке читал, но к сожалению не работает это дело, но к счастью понял в каком направлении искать=) в моём случае надо не table-row ставить, а table-row-group. но есть один момент: на сайте написано, то это свойство CSS IE не поддерживает, но тем не менее в моём случае все работает и в ИЕ (6) и в Опере? стоит оставлять это, или все таки лучше прописывать свойство в зависимости от браузера?

А поставить пустое значение ("") вы не смогли прочитать?

Link to comment
Share on other sites

  • 0

А если необходимо скрыть не одну, а несколько строк в таблице. Причём они идут не подрят. Пробовал всем задать одинаковый ID, но в таком случае изменяется только первая строка с данным ID, а остальные нет. Можно ли каким нибуть способом выставлять видимость сразу для группы и по какому признаку их объединить?

Link to comment
Share on other sites

  • 0
А если необходимо скрыть не одну, а несколько строк в таблице. Причём они идут не подрят. Пробовал всем задать одинаковый ID, но в таком случае изменяется только первая строка с данным ID, а остальные нет. Можно ли каким нибуть способом выставлять видимость сразу для группы и по какому признаку их объединить?

На StateController'е можно реализовать это за 5 секунд. Потом можно будет скрывать любые строки, и не только таблицы.

Link to comment
Share on other sites

  • 0

<tr title="Кликлине для раскрытия деталей" onclick="showInfo('.$i.')">
<td></td>
</tr>
<tr id="'.$i.'" style="display: none">
...

функция:

<script language=Javascript>
function showInfo(id)
var row = document.getElementById(\'"\'+id+\'"\');
{
if row.style.display=="none";
{
row.style.display="";
}
else
row.style.display="none";
}
</script>

почему этот код у меня не хочет раскрывать/скрывать строки таблицы по id??

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy