maximka787
12.08.2013 - 11:23
Мужики, помогите. Как передать массив (объект) в файл .js?
Сейчас скрипт написан прямо в коде страницы, где сначала собирается массив, а потом обрабатывается, но я бы хотел код вывести "наружу", а массив объявлять глобально. Пробовал подключать скрипт после объявления массива, но он не инициализирован.
_____________
..Работает - не трогай!
Michael
12.08.2013 - 11:27
Если этот массив динамический, то в в отдельном 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
12.08.2013 - 11:34
MichaelСогласен, массив динамичный. Объясню. На странице товара в магазине, загружается массив (object). С этим массивом работают селекторы и элементы формы. Я хочу все эти механизмы взаимодействия вывести в отдельный файл, а массив собирать в самой странице, тк другого места просто нет.
var combimation = {'1':{'1':'(S)'}, '2':{'1':'(S)','2':'(M)'}};
вот этот объект планирую вывести в коде страницы, а все скрипты JS в отдельный файл, но чтоб тот работал с этим массивом.
_____________
..Работает - не трогай!
maximka787
13.08.2013 - 11:07
Michael
Благодарю за ответ, сразу чего-то не понял. То есть выходит, что если у меня массив каждый раз по разному создается в самом документе, то там его и оставлять? (в <head>) и не пробовать отправить его на обработку в отдельный файл скрипт?
_____________
..Работает - не трогай!
Michael
13.08.2013 - 11:14
да, я об этом и говорил. Отдельный js файл закешируется же в браузере. И он для всех один.
Можно и не в head, а например перед </body>
_____________
There never was a struggle in the soul of a good man that was not hard
kuzroman
13.08.2013 - 13:33
Основной конструктор (ваш массив) объявляете и заполняете на странице php || html
а методы для его обработки, конечно, вынесите в отдельный .js
_____________
kuzroman@list.ru
maximka787
13.08.2013 - 15:39
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() {
});
_____________
..Работает - не трогай!
Michael
13.08.2013 - 15:45
а тут все нормально работает:
http://jsfiddle.net/6f7wy/
_____________
There never was a struggle in the soul of a good man that was not hard
maximka787
13.08.2013 - 15:51
Michael
Действительно... Спасибо, потратил день целый на то, что уже работало...
_____________
..Работает - не трогай!
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.