Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   HTML/DHTML/CSS/JS/VB (http://www.flasher.ru/forum/forumdisplay.php?f=66)
-   -   Динамическое обращение к свойствам объекта (http://www.flasher.ru/forum/showthread.php?t=122786)

Remir 18.03.2009 16:41

Динамическое обращение к свойствам объекта
 
JS

Рзбираю результат выполнения хранимой процедуры (result)
Необходимо сформировать массив (объект) с именами и значениями всех полей

Можно ли используя следующий синтаксис при заполнении значениями элементов (свойств) массива (объекта)

Код:

arrayName[N] = ({elementName: elementValue})
elementName менять динамически?

пример:

Код:

if(!result.BOF){
    result.MoveFirst();
    while(!result.EOF){   
        for(var i = 0; i != result.fields.count; ++i){
            tmp_array[c] = ({result.fields(i).name:result.fields(i).value});
        }
        result.MoveNext();
        c++;
    }
}

result.fields(i).name - не воспринимает как имя элемента (св-ва)

?

KidsKilla 18.03.2009 16:59

вы запутались в синтаксисе.

Код:

        for(var i = 0; i < result.fields.length; i++){
            tmp_array[c] = {};
            tmp_array[c][result[i].name] = result[i].value
        }

я так понимаю в с пхп перешли в жаваскриптеры. подучите синтаксис:
http://en.wikipedia.org/wiki/Javascript

и, кстати, JavaScript не умеет читать файлы

Remir 18.03.2009 17:14

Ничего я не путал и файлы не читал...

В JS создается подключение к базе и запускается соответствующая хранимая процедура.
Результат ее выполнения надо запихнуть в массив.
Массив на сколько я понял необходим многомерный.
Так вот если я в вышепредставленом коде указываю имя элемента фиксировано то все пашет. Но необходимо все значения присвоить элементам в цикле, с динамическим созданием имен элементов сообразным именам полей в рекордсете.

вопрос как?

З.Ы. PHP тут вообще не приделах.

Добавлено через 3 минуты
Да и еще JavaScript прекрасно работает с файлами при помщи ActiveXObjectы.

KidsKilla 18.03.2009 17:34

БД? эт вы где жс используете то?

И ещё я ничего не понял во 2м абзаце. как задавать названия полей динамически я показал в 1м посте...

про пхп лишь предположение.
ActiveXObject -- обёртка, используемая только в IE.

Remir 18.03.2009 17:47

Мдя, диалог получился не очень))))... На самом деле у меня JS используется не web среде. Юзаю его для управления "опеределенным" оборудованием в сфере обработки тел.вызовов.... но это не суть.

кстати синтаксис tmp_array[c][result[i].name] который Вы мне отписали тож нормально не хочет востприниматься.

ладно спасибо! хоть на этом )) буду искать варианты.

KidsKilla 18.03.2009 17:59

я не знаю что там у вас должно быть и как, но суть динамического создания поля такая:

Код:

var o = {}; // Создали объект
var v = 'key'; // строковая переменная
o[v] = 3; // Имя ключа задаётся в переменной
alert( o.key ) // 3



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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.