У меня есть массив js в отдельном файле array_wsd01.js, и я хочу, чтобы код jquery ui dialog обращался к его элементам. Содержимое файла:
var E2tw.arrayWsd01 =
[["text01", "audio01"],
["text02", "audio02"],
...
["text10", "audio10"]];
и код диалога:
jQuery(document).ready(function() {
jQuery("div#ws_dialog").dialog({
autoOpen: false,
modal: true,
resizable: false,
draggable: false
});
jQuery(".ui-dialog-titlebar").removeClass('ui-widget-header');
jQuery("span.ws_dialog_icon").on("click",function(evnt) {
jQuery("div#ws_dialog").dialog("open");
evnt.stopPropagation();
jQuery("div#wsd_text").text(E2tw.arrayWsd01[0][0]);
});
});
Это не отображает значение E2tw.arrayWsd01 [0] [0], в то время как отображается строка, такая как "Привет, там" или некоторые такие. Firebug показывает, что загружается массив_wsd01.js. Что я делаю не так?
изменение
var E2tw.arrayWsd01 =
[["text01", "audio01"],
["text02", "audio02"],
...
["text10", "audio10"]];
в
E2tw.arrayWsd01 =
[["text01", "audio01"],
["text02", "audio02"],
...
["text10", "audio10"]];
"var" не требуется для присвоения значений свойствам E2tw.
И я настоятельно рекомендую вам использовать JSLint для проверки кода JavaScript в будущем. Это отлично подходит для таких проблем, как этот :-)
ваш файл должен быть таким
/A.js
var E2tw = [["text01", "audio01"],["text02", "audio02"],
...
["text10", "audio10"]];
Использовать в другом файле
B.html
<script src="/A.js"></script>
<script>
function(){
alert(E2tw[0]);//you can use directly as variable.
}
</script>
var E2tw.arrayWsd01 =
является недопустимым синтаксисом. Вы должны увидеть синтаксическую ошибку. Пока у вас есть синтаксическая ошибка, код не может быть оценен.
Предположим, что файл действительно загружен, изменив его на
var E2tw = {
arrayWsd01: [["text01", "audio01"], ...]
};
должен исправить эту проблему. Это объявляет объект с свойством arrayWsd01
, к которому можно получить доступ как E2tw.arrayWsd01
(как вы уже это сделали). Конечно, если это единственное свойство, вообще не имеет смысла использовать объект.
E2tw.arrayWsd01
, но вы сказали в другом комментарии, что он не работает и для вас. В этом случае у нас недостаточно информации, чтобы помочь вам.