voici la vue au il y a les deux listes deroulantes :
<li>
        <p class="labelFormulaire"><font class="starColor">*</font><?php echo
$translateH->getTranslatedText($this->name, 'formulaire',
'choixBureau', $parameters); ?> :</p>
        <p>
        <?php echo $form->input('Language.code', array('type' => 'hidden',
'value'=> $cookieABCLiv['Language']['code']))?>
        <?php
                //liste de bureaux
                echo $form->select(
                        'Payment.office_id',
                        $officeH->getOfficesList($offices), //appel du helper 
pour
construire la liste des options concatenees
                        null,
                        $optionsInputFront,
                        false
                );
        ?><p>
</li>
<li>
        <p class="labelFormulaire"><font class="starColor">*</font><?php echo
$translateH->getTranslatedText($this->name, 'formulaire', 'choixDom',
$parameters); ?> :</p>
        <p id="listeDomiciliation">
        <?php
                //liste des type de domiciliation
                echo $form->input(
                        'Payment.tdom_id',
                        am($optionsInputFront,
                                array( 'default' => 
isset($this->data['Payment']['tdom_id']) ?
$this->data['Payment']['tdom_id'] : null,
                                        'options' => $listeDomiciliation,
                                        'empty' => '-- Domiciliation --'))
                );

        ?>
        <p>
</li>

quand je selectionne la premiere liste , cela me met à jour la
seconde.

/
*-------------------------------------------------------------------------------------------------------------------------------------
*/
Le code JQuery :
$("#PaymentOfficeId").change( function () {
        $.post("getDomiciliationFromOfficeAjax", {id: $
("#PaymentOfficeId").val(), lang : $("#LanguageCode").val()}, function
(data) { $("#listeDomiciliation").html(data)} );
        $("#listeDomiciliation").show('slow');
});


/
*-------------------------------------------------------------------------------------------------------------------------------
*/
la fonction dans le controller Payments : (qui appelle la vue
get_domiciliation_from_office_ajax.ctp)

function getDomiciliationFromOfficeAjax() {
        $this->layout = 'ajax';
        $iOfficeId = intval($this->params['form']['id']);
        $sLang = $this->params['form']['lang'];

        $aListeDom = array();
        if(!empty($iOfficeId)) {
                $aCondQuery = array(
                        'conditions' => array(
                                'OfficesTDom.etat' => 1,
                                'OfficesTDom.office_id' => $iOfficeId),
                        'fields' => 'TDom.title_fr',
                        'order' => 'OfficesTDom.tDom_id',
                        'recursive' => 0
                );
                $aListeDom = $this->OfficesTDom->find('list', $aCondQuery);
        }
        $this->set('listeDomiciliation', $aListeDom);
        $this->render();

}


voila pour les elements..
comment cakephp fait pour appeler directement la fonction dans le
controller  (cf javascript  : $.post
("getDomiciliationFromOfficeAjax" .... )
d'habitude ça le fait automatiquement :
http://127.0.0.1/monsite.com/payments/getDomiciliationFromOfficeAjax

et qu


On 3 fév, 13:56, lion...@free.fr wrote:
> bonjour,
>
> Il nous manque un certain nombre d'éléments.
> Peux-tu nous donner le code de la fonction ajax ?
--~--~---------~--~----~------------~-------~--~----~

Groupe "Cakephp-fr".
Adresse : cakephp-fr@googlegroups.com
Pour résilier  : cakephp-fr-unsubscr...@googlegroups.com
Pour les options : http://groups.google.com/group/cakephp-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à