Jag tror att du försöker få alternativen att fylla i från $mens
array:
<?php foreach($mens as $row){?>
<option value="<?php echo $row['gender'] ?>"><?php echo $row['name'] ?></option>
<?php }?>
Om det inte är det du menar kan du behöva förtydliga mer.
REDIGERA 1:
Om du har en stor lista med objekt att rita från, kommer du att vilja använda ajax, men om ditt urval är relativt litet kan du tänka dig att bara använda en array att rita från.
DEMO: 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>
EDIT 2:
Det här är min sista gissning om vad du vill ha, från kommentarer tror jag att du kanske vill ladda om sidan men skicka värdevalet:
<script type="text/javascript">
$(function () {
$("#category").change(function () {
var selectedValue = $(this).val();
window.location = '?select='+selectedValue;
});
});
</script>