Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как показать/скрыть элементы 
V
    Опции темы
Матильда
Дата 3.3.2009, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 24.10.2008
Где: СПб

Репутация: нет
Всего: нет



Доброго времени суток!
Помогите, пожалуйста, решить следующую проблему. Мне нужно показывать/скрывать элементы. Как это сделать, когда кол-во элементов фиксировано,  понятно. Проблема в том, что я получаю элементы из коллекции и заранее не знаю, сколько их будет. Я набросала примерный вариант, но не знаю, как сделать так, чтобы id для <div> и <img> на каждой итерации были уникальными? 
Или я вообще все не так делаю?

Код

...
 <script type="text/javascript">
      var device_div, icon;
      var s="../img/strutsmenu/minus.gif";
      function ichange(id_icon, id_device)
      {
           icon=document.images[id_icon].src;
           device_div=document.getElementById(id_device).style.display;
           if(icon==s) {
               document.images[id_icon].src="../img/strutsmenu/plus.gif";
               device_div='none';
           } else {
               document.images[id_icon].src="../img/strutsmenu/minus.gif";
              device_div='block';
           }
       }
    </script>

<!-- Boxes, devices, modules and upses -->
<logic:notEmpty name="PointForm" property="boxes">
<div class="ListTable">
 <br>
    <table>
        <tr>                                     <!-- spisok oborudovanija -->
            <td class="title"><bean:message key="titles.showBoxes.list"/></td>
        </tr>

    <logic:iterate id="row_boxes" name="PointForm" property="boxes" indexId="index">
        <tr>
            <td>
                
                <A href="javascript:ichange('idImg', 'idDevice');" id="idIcon"><img id="idImg" name="nameImg"
                          src="../img/strutsmenu/plus.gif" border="0px"/>  </A>
                    
                     <html:link  action="/showBox" module="/device" paramId="boxId" paramName="row_boxes"
                           paramProperty="boxId"></html:link>
                
                      <!-- Box N nn -->
                <html:link action="/showBox" module="/device" paramId="boxId" paramName="row_boxes"
                           paramProperty="boxId"><bean:message key="fields.showBoxes.boxNo"/> - <bean:write
                        name="row_boxes" property="boxNo"/></html:link>

            </td>
        </tr>


        <logic:notEmpty name="row_boxes" property="devices">
        <logic:iterate id="row_devices" name="row_boxes" property="devices" indexId="index">
        <tr>
            <td>
 <div id=idDevice style="display:none;">  
         <!-- Ustroistvo N nn -->
                &nbsp;&nbsp;&nbsp;&nbsp;
                <html:link action="/showDevice" module="/device" paramId="deviceId" paramName="row_devices"
                           paramProperty="deviceId"><bean:message key="fields.showDevices.deviceNo"/> - <bean:write
                        name="row_devices" property="deviceNo"/></html:link>
                <br>
                <!--  Ustroistvo -->
                <!--  Model - nn   Tip - nn  Stoimst - nn -->
                &nbsp;&nbsp;&nbsp;&nbsp;
                <b><bean:message key="fields.showDevices.deviceName"/></b> - <bean:write name="row_devices"
                     property="devicePattern.deviceName"/> / <b><bean:message
                    key="fields.showDevices.deviceTypeName"/></b> - <bean:write
                    name="row_devices" property="devicePattern.deviceType.deviceTypeName"/> / <b><bean:message
                    key="fields.showDevices.price"/></b> - <bean:write name="row_devices" property="price"/>
 </div> 
            </td>
        </tr>
...

PM   Вверх
bars80080
Дата 3.3.2009, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



всё зависит от целей и реализации

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

допустим, у нас все эти элементы находятся в некой области, к примеру таблице. тогда мы хватаем таблицу за id, перебираем все элементы по тэгам .getElementsByTagName('img')[i] и скрываем друг за другом. если же среди этих элементов есть какие-то, которые не надо скрывать, то можно ввести ещё некий уникальный параметр, к примеру title="qw" для нужных элементов или .className (класс) и т.д.
PM MAIL WWW   Вверх
Матильда
Дата 4.3.2009, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 24.10.2008
Где: СПб

Репутация: нет
Всего: нет



bars80080, вы мне очень помогли. Большое спасибо!
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1302 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.