web-dev-qa-db-fra.com

Le calendrier Joomla ne fonctionne pas avec jQuery ajax

Ici, je suis chargé le champ calendrier via jquery ajax. Lorsque je clique sur le bouton du calendrier, rien ne se passe. La fenêtre contextuelle du calendrier ne s'affiche pas.

dans model.php

$tr ="<td>".JHTML::_('calendar','2015-09-09', 'arr_stubat_join_date[]', 'stubat_join_date_'.$value->batch_id,'%Y-%m-%d',array('size'=>'15',  'maxlength'=>'15'))."</td>";  return $tr;

jQuery Ajax

function loadBatch(){
jQuery('#task').val('profile.getbatch');
var dataString = jQuery("#profile-form").serialize();

jQuery('#ajax_loader_image').show();
jQuery.ajax({
    type: 'POST',
    url: 'index.php',
    data: dataString,
    cache: false,
    success: function(result){
        jQuery('#batch_container').append(result);
    },
    error: function(result){
    }
});}

aidez-moi à résoudre le problème du calendrier.

1
user1581939

Votre modèle renvoie correctement le code HTML généré par l'appel de classe JHtml. Mais cette méthode charge également du code JavaScript dans la tête de document. Puisque vous ne rendez pas la totalité de la page, JavaScript n'est pas renvoyé et ne finit jamais dans le navigateur.

Donc, tant que vous avez le code HTML ici, vous manquez la partie JavaScript et donc rien ne fonctionnera.

Vous devrez ajouter manuellement le (s) code (s) JavaScript nécessaire à la page.

Il en va de même pour le style CSS

2
Bakual

La réponse de Bakual devrait en fait être acceptée, mais je veux juste montrer l'exemple de code JS qui devrait être ajouté à la page:

<script>
    jQuery(document).ready(function($) {
        Calendar.setup({
        // Id of the input field
        inputField: '<?php echo $field->id; ?>',
        // Format of the input field
        ifFormat: '<?php echo $field->format; ?>',
        // Trigger for the calendar (button ID)
        button: '<?php echo $field->id; ?>_img',
        // Alignment (defaults to "Bl")
        align: 'Tl',
        singleClick: true,
        firstDay: '<?php echo JFactory::getLanguage()->getFirstDay(); ?>'
        });
    });
</script>

$field voici un objet JFormField.

1
Dmitry Rekun