Bonjour,

Je suis en train de réaliser un site et je dois utiliser une fonction en Jquery pour récuperer la valeur d'une liste déroulante.

Voici le code Jquery

<script>
jQuery(document).ready(function($){
    function displayVals() {
        var values = $(' #branche li[class="active"] input[name=new_category] ').val();
        $( "p" ).html( values );
    }

    $( '#branche li[class="active"] input[name=new_category]' ).change( displayVals );

    displayVals();
});
</script>

Et voici le code qui représente la liste que je veux modifier

 <?php

                            //*********  CATEGORY  *********

                            if($p_category != '' && $p_category == 'enabled') { ?>
                                <div class="form-group fg-inline">
                                    <label><?php echo esc_html_x('Category', 'Company', 'reales'); ?>
                                    <?php if($p_category_r != '' && $p_category_r == 'required') { ?>
                                        <span class="text-red">*</span>
                                    <?php } ?>
                                    </label>
                                    <a href="javascript:void(0);" data-toggle="dropdown" class="btn btn-default dropdown-toggle">
                                        <span class="dropdown-label"><?php esc_html_e('Category', 'reales'); ?></span>&nbsp;&nbsp;&nbsp;<span class="caret"></span>
                                    </a>
                                    <ul class="dropdown-menu dropdown-select" id="branche">
                                        <li class="active"><input type="radio" name="new_category" value="0" <?php if(!isset($edit_category_id) || (isset($edit_category_id) && $edit_category_id == '') || (isset($edit_category_id) && $edit_category_id == 0)) { echo 'checked="checked"'; } ?> ><a href="javascript:void(0);"><?php esc_html_e('Category', 'reales'); ?></a></li>
                                        <?php foreach($cat_terms as $cat_term) { ?>
                                        <li><input type="radio" name="new_category" value="<?php echo esc_attr($cat_term->term_id); ?>" <?php if(isset($edit_category_id) && $edit_category_id == $cat_term->term_id) { echo 'checked="checked"'; } ?>><a href="javascript:void(0);"><?php echo esc_html($cat_term->name); ?></a></li>
                                        <?php } ?>
                                    </ul>
                                </div>
                            <?php } ?>

Le code me retourne bien la valeur par défaut qui est 0 mais si je sélectionne une autre catégorie il ne me mets pas à jour l'ID. Je précise que le site tourne sous Wordpress et que tout se trouve dans une base de donnée.

Auriez-vous une idée ?

Merci d'avance

Zibeug

2 réponses


bambe
Réponse acceptée

Bonjour,

Essaie de changer la valeur dèsque la liste ul change

$('#branche  li').live('click',function()
{
   displayVals();
});
zibeug
Auteur

T'a géré merci :)