2016-04-18 2 views
0

Я использую Grails 2.4 и AJAX запрос с использованием formremote, remotelink, submittoremote и т.д.Grails Ajax вызова необходимо перезагрузить код JQuery в каждом шаблоне

, когда я сделать вызов Ajax и рендеринга шаблона я должен написать, связанный JQuery снова.

Как

$('.customdatepicker').datepicker({ 
        format: "dd/mm/yyyy", 
        autoclose:true,todayHighlight: true 
       }); 

Instred повторения кода во всем шаблоне, мне нужно что-то такое, что я просто нужно написать код JQuery только один раз.

Если я определил его в макете, он доступен только для всех вызовов без аякса.

Спасибо.

+0

Не могли бы вы объяснить подробнее об этом - msgstr "тогда он доступен только для всех вызовов aaax?"? Что мешает вам добавить JS-файл в шаблоны? –

+0

Привет Микелис, я сделал одиночные js, если я включил js-файл в шаблон, тогда все остальные коды также загружаются. –

+1

Разделите его на два файла - один с кодом, который должен применяться только к тем конкретным шаблонам. –

ответ

0

Вы должны учитывать следующее:


При загрузке контента с помощью AJAX, элементы, созданные с помощью этого не автоматически все привязки и события, которые все остальные элементы, созданные на странице груз есть. Если вам нужно, чтобы ваши элементы имели определенное поведение после ajax, тогда вы должны создать функции , которые вы можете позвонить в onSuccess вашего тега удаленной формы.


Вы можете использовать нормальные формы и on функции использовать Jquery как

$('#my-element-in-page-when-loaded').on('click', 'my-ajax-element', function(){ /*jquery ajax functions load, get, post, ajax*/}) 

вместо

$('my-ajax-element').click(); 

, поскольку последний будет работать только тогда, когда существует моя-Ajax-элемент, когда страница изначально загружается.


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

<content tag="javascript"> 
    //your js 
</content> 

и следующий код макета, после того места, где ты объявите свои ресурсы или javascripts.

//your layout assets 
<g:pageProperty name="page.javascript"/> 

Таким образом, вы будете иметь возможность объявить файл со всеми наиболее часто используемых функций в файле, а затем все ваши просматривать конкретные JS в

<content tag="javascript"> 
    //your view specific code. 
</content> 

 Смежные вопросы

  • Нет связанных вопросов^_^