Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Программирование » Java/Java Scripts » getElementById
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
getElementById [сообщение #78526]

Добрый день, у меня возник такой затык:
делаю так:

code:

document.getElementById('goods_list').rows[i].cells[1].childNodes[0]. getElementById('structura_kks_id_'+structura_kks_i
d).selected = true;


выдает ошибку, в связи с чем вопрос, как мне выбрать элемент списка SELECT, по известному id, НО таких SELECTов на странице несколько!..
Я с помощью Ð_НÐ_ вытаскиваю из БД к примеру 5 строк, одно из значений в каждой строке это value этого селекта, но по value как известно выбрать (selected) элемент нельзя. (Только сейчас подумал, что id же должны быть на всей страницы и у всех элементов уникальные? Т.е. у элементов 2х SELECTов они не должны повторяться?..)
С помощью вот такой ф-ии я генерирую табличку с этим SELECом на каждой строке:

PHP:

function moreFields(id, structura_rashodov_id, structura_kks_id, quantity, unit_price, total_price, nds, nalog_stavka, total_price_nds) {
    
counter = Number(document.getElementById('goods_list').rows.length)-4;
    
counter++
    var 
newFields = document.getElementById('readroot').cloneNode(true);
    
newFields.id = 'str_id'+counter;

    if(
document.all && !window.opera) {
        if (/
MSIE (5.5)|[6789]/.test(navigator.userAgent) && navigator.platform == \"Win32\") {
            newFields.style.display = 'inline';
        }
    } else if (document.getElementById) {
        newFields.style.display = 'table-row';
    }

    var insertHere = document.getElementById('writeroot');
    insertHere.parentNode.insertBefore(newFields,insertHere);

    var id_n = 0;
    for( var i=0; i < document.getElementById('goods_list').rows.length; i++) {
        if(document.getElementById('goods_list').rows[i].id != 'header' && document.getElementById('goods_list').rows[i].id != 'readroot' && document.getElementById('goods_list').rows[i].id != 'writeroot' ) {
            document.getElementById('goods_list').rows[i].id = 'str_id'+id_n;
            for( var k=0; k < document.getElementById('goods_list').rows[i].cells.length; k++ ) {
                var theName = document.getElementById('goods_list').rows[1].cells[k].childNodes[0].name;
                if (theName) {
                document.getElementById('goods_list').rows[i].cells[k].childNodes[0].name = 'rashodi['+id_n+']['+theName+']';
                }
                if (document.getElementById('goods_list').rows[i].cells[k].childNodes[0].value == '' && document.getElementById('goods_list').rows[i-1].cells[k].childNodes[0].value != '' && document.getElementById('goods_list').rows[i-1].cells[k].childNodes[0].nodeName == 'INPUT' ) {
                    document.getElementById('goods_list').rows[i].cells[k].childNodes[0].value = document.getElementById('goods_list').rows[i-1].cells[k].childNodes[0].value;
                }
                else if ( document.getElementById('goods_list').rows[i-1].cells[k].childNodes[0].nodeName == 'SELECT' && document.getElementById('goods_list').rows[i-1].cells[k].childNodes[0].selectedIndex !=0 && document.getElementById('goods_list').rows[i].cells[k].childNodes[0].selectedIndex == 0 ) {
                    document.getElementById('goods_list').rows[i].cells[k].childNodes[0].selectedIndex = document.getElementById('goods_list').rows[i-1].cells[k].childNodes[0].selectedIndex;
                }
            }
            id_n++;
        }
    }
}


воот... В каждой строчке есть сл. поля: structura_rashodov_id, structura_kks_id, quantity, unit_price, total_price, nds, nalog_stavka, total_price_nds (перв, 2 это SELECTы, который нужо выбрать в зависимости от поступившего на вход ф-ии значения - value)...
И я что то в затруднении, как это сделать...
Хотел сначала так: document.getElementById('goods_list').rows[i].cells[1].childNodes[0]. getElementById('structura_kks_id_'+structura_kks_i
d).selected = true;
Но сейчас понимаю, что так нельзя, id тут не уникальны... :/ А как быть ума не приложу...

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 19-09-2005 10:16
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
RaZEr
Модератор
Средний рейтинг: 4.19 | Оценок: 16
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2002
Место проживания: Россия
Публикаций: 769
Статус: RaZEr в оф-лайне
[сообщение #78528]

А что мешает сделать уникальные id?

__________________
The time was broken ...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 19-09-2005 10:28
Нажмите сюда для просмотра профайла RaZEr Отправить Персональное сообщение RaZEr Найти сообщения от RaZEr Добавить RaZEr в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #78530]

RaZEr вместе с генерацией строки?.. Хм.. В цикле каждый раз при добавлении строки перебирать элементы SELECTа?.. :/ Ну если др. варианта не будет видимо придётся так... Иного не дано?..

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 19-09-2005 11:29
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #78537]

Ð_х... запустил это дело на PIII500 нда... протормозило нехило!..
Подумал сгенерить эти строчки с помощью Ð_НÐ_... НО тогда что бы дать уникальный id элементам SELECTа нужно их (элементы) как то вместе с генерацией строк генерировать (они берутся из базы). А это опять лишняя нагрузка. Сейчас я их один раз в переменную выгребаю и потом переменную с ними (уже в HTML виде) засовываю куда надо...
Блин... чё то я как то запутался.
Опишу все как есть: 2 таблицы одна с элементами SELECTа, др. со списком значений (value) этих элементов. есть табличка 1 строка - 1 SELECT с (по идее) selected элементом из 2ой таблици. вот.

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 19-09-2005 14:08
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #78553]

У меня тут непонятка получилать, в одном месте случайно так сделал:
document.forms["main_conf"].elements["type_SQL"].value = "mysql";
И работает. Причём elements["type_SQL"] - это SELECT... Но "по идее" то это не правильно?! Или я не прав и так можно делать???

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 20-09-2005 09:09
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
RaZEr
Модератор
Средний рейтинг: 4.19 | Оценок: 16
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2002
Место проживания: Россия
Публикаций: 769
Статус: RaZEr в оф-лайне
[сообщение #78560]

Можно конечно.

__________________
The time was broken ...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 20-09-2005 10:41
Нажмите сюда для просмотра профайла RaZEr Отправить Персональное сообщение RaZEr Найти сообщения от RaZEr Добавить RaZEr в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #78564]

Вот блин :/ незнал... Но по логике то это не правильно! У SELECTa могут быть и одинаковые VALUE!!! А значение multiple может и не стоять... И что тогда?.. (Что то я в смятении... Я так извращался что бы сделать этот selected там где надо, а тут оказывается... :/)
RaZEr прошу прощения за недоверие, но вы уверены что так можно?.. И это правильно?..

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 20-09-2005 11:39
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
RaZEr
Модератор
Средний рейтинг: 4.19 | Оценок: 16
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2002
Место проживания: Россия
Публикаций: 769
Статус: RaZEr в оф-лайне
[сообщение #78566]

Я всегда так делаю. Косяков не замечал.

__________________
The time was broken ...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 20-09-2005 11:48
Нажмите сюда для просмотра профайла RaZEr Отправить Персональное сообщение RaZEr Найти сообщения от RaZEr Добавить RaZEr в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 15:11.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.43540812 seconds (98.77% PHP - 1.23% MySQL) with 21 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.