Mysql
 sql >> Base de données >  >> RDS >> Mysql

Jquery onchange problème en php

Je pense que vous essayez d'obtenir les options à remplir à partir du $mens tableau :

<?php foreach($mens as $row){?>
    <option value="<?php echo $row['gender'] ?>"><?php echo $row['name'] ?></option>
<?php }?>

Si ce n'est pas ce que vous voulez dire, vous devrez peut-être clarifier davantage.

MODIFICATION 1 :

Si vous avez une longue liste d'éléments à partir desquels puiser, vous voudrez utiliser ajax, mais si votre échantillon est relativement petit, vous pouvez éventuellement utiliser un tableau à partir duquel puiser.

DÉMO : https://jsfiddle.net/z50m5hnz/ :

<select name="category" id ='category' style="background:transparent">
    <option id ='gender' hidden="hidden">Gender</option>
    <option value="men">Men's</option>
    <option value="girl">Ladies</option>
</select>

<select name="items" id="items">
<select>

<script type="text/javascript">
    var dropdown_items = <?php echo json_encode($mens) ?>;
    $(function () {
        $("#category").change(function () {
            var selectedText = $(this).find("option:selected").text();
            var selectedValue = $(this).val();
            var opts = [];
            $.each(dropdown_items,function(k,v){
                if(selectedValue == 'men' && v.gender == 0) {
                    opts.push('<option name="'+v.gender+'">'+v.name+'</option>');
                }
                else if(selectedValue == 'girl' && v.gender == 1) {
                    opts.push('<option name="'+v.gender+'">'+v.name+'</option>');
                }
            });

            $('#items').html(opts.join(''));
        });
    });
</script>

MODIFICATION 2 :

Ceci est ma dernière supposition sur ce que vous voulez, d'après les commentaires, je pense que vous voulez peut-être recharger la page mais envoyez la sélection de valeur :

<script type="text/javascript">
    $(function () {
        $("#category").change(function () {
            var selectedValue = $(this).val();
            window.location =   '?select='+selectedValue;
        });
    });
</script>