$mens
から入力するオプションを取得しようとしていると思います 配列:
<?php foreach($mens as $row){?>
<option value="<?php echo $row['gender'] ?>"><?php echo $row['name'] ?></option>
<?php }?>
これがあなたの意図したことではない場合は、もっと明確にする必要があるかもしれません。
編集1:
描画するアイテムのリストが多い場合はajaxを使用することをお勧めしますが、サンプルが比較的小さい場合は、配列を使用して描画することもできます。
デモ: 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>
編集2:
これは、あなたが望むものについての私の最後の推測です。コメントから、ページをリロードしたいが、値の選択を送信したいと思うかもしれません:
<script type="text/javascript">
$(function () {
$("#category").change(function () {
var selectedValue = $(this).val();
window.location = '?select='+selectedValue;
});
});
</script>