Почему мой возврат пуст из jQuery в Velocity?

Я работаю над надстройкой для Confluence. Я использую Apache Velocity и Js. Когда я распечатываю свой шаблон, я не получаю возврата из моего JS-файла, в котором я использую jQuery. Как я могу правильно установить связь между этими двумя? Спасибо!

My JS

jQuery(function ($) {
    var initmyConfluenceMacro = function ()
    {
        $(".myConfluenceMacro").each(function()
        {
            var html = "wadup"; 
            var dayDates = $(this).find("input.dayDates").val();
            html = html + dayDates;
            $(this).html(html);
        });
    };
    $(document).ready(function()
    {
        initmyConfluenceMacro();
    });
});

МОЯ скорость Template.vm

#requireResource("confluence.web.resources:jquery")
#requireResource("com.atlassian.tutorial.myConfluenceMacro:myConfluenceMacro-resources")

My variables : $myCustomVar
My variable js: 

<div class="myConfluenceMacro">
    <fieldset class="parameters hidden">
            <input type="hidden" class="dayDates" value="YO! Was up dude?">
    </fieldset>
</div>

person TeslaXba    schedule 19.11.2018    source источник
comment
Нет причин вкладывать установку $(document).ready(), когда вы уже находитесь внутри готового обработчика.   -  person Pointy    schedule 19.11.2018
comment
@Pointy, чтобы убедиться, что он действительно готов   -  person epascarello    schedule 19.11.2018
comment
Вам нужно отладить и выяснить, почему он не найден. Я предполагаю, что что-то загружается динамически, и вы пытаетесь найти это до того, как оно появится на странице. console.log и отладчик — ваши друзья.   -  person epascarello    schedule 19.11.2018
comment
@epascarello На самом деле я хочу передать значение из .vm в js. Значение уже установлено. Но все равно мне ничего не вернут. Может быть, есть лучший способ установить связь между .js и .vm? Я не могу найти ни одного хорошего примера, где я вижу передачу переменных с обеих сторон.   -  person TeslaXba    schedule 19.11.2018
comment
Ну, есть одна вещь, которую вы можете исследовать, это console.log($(".myConfluenceMacro").length) перед вызовом .each(). Это скажет вам, содержит ли DOM какие-либо экземпляры содержимого макроса после расширения.   -  person Pointy    schedule 19.11.2018
comment
@Pointy Я пробовал это: $(document).ready(function() { var html = I AM ЗДЕСЬ; $(this).html(html); //initmyConfluenceMacro(); }); а у меня все равно ничего :(   -  person TeslaXba    schedule 19.11.2018
comment
@Pointy Я не вижу файл журнала :( Это не мой экземпляр слияния, поэтому у меня нет доступа к журналу. Я могу только напрямую загрузить банку и посмотреть результат...   -  person TeslaXba    schedule 19.11.2018
comment
Вы просматриваете полученный контент в браузере? Вот куда идет console.log().   -  person Pointy    schedule 19.11.2018
comment
О, спасибо! @Pointy Я всегда открывал файл журнала и смотрел. Спасибо за совет!   -  person TeslaXba    schedule 19.11.2018
comment
@Pointy Сообщение об ошибке, которое я получаю: Ошибка запуска пакетного сценария.   -  person TeslaXba    schedule 19.11.2018
comment
Ну, если в вашем скрипте есть какая-то ошибка, это, безусловно, объясняет, почему он не работает. Ошибки JavaScript могут быть немного тупыми, но ошибка должна точно сказать вам, что она считает неправильным: синтаксическая ошибка, исключение, что угодно; а также где в коде произошла ошибка.   -  person Pointy    schedule 19.11.2018


Ответы (1)


Мне это удалось. Таким образом, это работает, и я получаю HTML обратно!

JS

$(document).ready(function(){
    $(".myConfluenceMacro").each(function(){
        $(this).html("Hello <b>world!</b>");
    });
});

СКОРОСТЬ

<script type="text/javascript">
 #include( "templates/currencyDetail.js")
</script>
<body>

<div class="myConfluenceMacro">

</div>
person TeslaXba    schedule 22.11.2018