[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Передача объекта в файл
maximka787
Мужики, помогите. Как передать массив (объект) в файл .js?

Сейчас скрипт написан прямо в коде страницы, где сначала собирается массив, а потом обрабатывается, но я бы хотел код вывести "наружу", а массив объявлять глобально. Пробовал подключать скрипт после объявления массива, но он не инициализирован.

_____________
..Работает - не трогай!
Michael
Если этот массив динамический, то в в отдельном js файле ему делать нечего.
Такие вещи печатаются на страницу инлайн скриптами (<script>var arr=[1,2]</script>).
Т.к. инициализация остальных скриптов обычно идет на событии загрузки документа, все эти переменные (arr) уже к тому времени проинициализированы.

_____________
There never was a struggle in the soul of a good man that was not hard
maximka787
Michael
Согласен, массив динамичный. Объясню. На странице товара в магазине, загружается массив (object). С этим массивом работают селекторы и элементы формы. Я хочу все эти механизмы взаимодействия вывести в отдельный файл, а массив собирать в самой странице, тк другого места просто нет.
var combimation = {'1':{'1':'(S)'}, '2':{'1':'(S)','2':'(M)'}};
вот этот объект планирую вывести в коде страницы, а все скрипты JS в отдельный файл, но чтоб тот работал с этим массивом.

_____________
..Работает - не трогай!
maximka787
Michael
Благодарю за ответ, сразу чего-то не понял. То есть выходит, что если у меня массив каждый раз по разному создается в самом документе, то там его и оставлять? (в <head>) и не пробовать отправить его на обработку в отдельный файл скрипт?

_____________
..Работает - не трогай!
Michael
да, я об этом и говорил. Отдельный js файл закешируется же в браузере. И он для всех один.

Можно и не в head, а например перед </body>

_____________
There never was a struggle in the soul of a good man that was not hard
kuzroman
Основной конструктор (ваш массив) объявляете и заполняете на странице php || html
а методы для его обработки, конечно, вынесите в отдельный .js

_____________
kuzroman@list.ru
maximka787
kuzroman
Об этом и речь, много прочитал, посоветовался, видимо и не получится. Как раз эти механизмы обработки и не видят массив, даже если я его и объявляю до файла.
<head>
...
<script type="text/javascript">

var
combimation = {'1':{'1':'(S)'}, '2':{'1':'(S)','2':'(M)'}};

</script>

<script
type="text/javascript" src="/script.js"></script>
</head>


script.js
$(document).ready(function() {

// тут он undefined

});


_____________
..Работает - не трогай!
Michael
а тут все нормально работает:
http://jsfiddle.net/6f7wy/

_____________
There never was a struggle in the soul of a good man that was not hard
maximka787
Michael
Действительно... Спасибо, потратил день целый на то, что уже работало...

_____________
..Работает - не трогай!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.