实际上,标签的 onchange 需要更改并显示实际记录(如果更改 Men 意味着 mens 记录将打开(显示))我需要在选项值内传递变量将如何传递。
这是我的 Html 代码:
<select name="category" id ='category' onchange='gender(this)' style="background:transparent">
<option id ='gender' hidden="hidden">Gender</option>
<?php foreach($mens as $row){?>
<option value="men">Boy's</option>
<option value="girl">Girl's</option>
<?php }?>
</select>
这里是我的 jquery 代码:
<script type="text/javascript">
$(function () {
$("#category").change(function () {
var selectedText = $(this).find("option:selected").text();
var selectedValue = $(this).val();
$( "#list" ).submit();
alert("Selected Text: " + selectedText + " Value: " + selectedValue);
});
});
</script>
这里是我的 Php 代码:
$men ="SELECT * FROM `tbl_master_property` where status=0";
$men_result=$conn->query($men);
$men_projects = array();
while($row=mysqli_fetch_assoc($men_result)){
$men_projects[] = $row;
}
$mens = $men_projects;
echo '<pre>'; print_r($mens);die;
我打印我的 $mens 显示:
Array
(
[0] => Array
(
[pg_id] => 1
[name] => Sri Manikanta New Luxury Paying Guest For Men
[gender] => 0
[location_id] => 0
)
[1] => Array
(
[pg_id] => 2
[name] => Srivari New Executive Paying Guest For Men
[gender] => 0
[location_id] => 0
)
[2] => Array
(
[pg_id] => 3
[name] => Temple View New Executive Pg For Ladies
[gender] => 1
[location_id] => 0
)
[3] => Array
(
[pg_id] => 4
[name] => Srinivasa Luxury Guest For Men
[gender] => 1
[location_id] => 0
)
最佳答案
我认为您正在尝试从 $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>
关于php - php 中的 Jquery onchange 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48219386/