搜索后在选择框字段中保留选定的值
我想在搜索后将所选值保留在选择框中。这是一个车辆搜索过滤器页面,Page是使用php编码并与数据库连接。搜索后在选择框字段中保留选定的值
数据库有2列两个选项是25+ 21-24司机年龄和driver_age一些也可用于两个司机的年龄
代码如下
<script>
$('#driver').change(function() {
if($('#driver option:selected').val() == '21-24') {
$('#driver').attr('name','driverage');
}
if($('#driver option:selected').val() == '25+') {
$('#driver').attr('name','driver_age');
}
});
</script>
<form id="myform" method="GET" action="">
<div class="fields">
<p>Vehicle Type</p>
<select class="car" name="car_type" id="car_type">
<option value="0">Select Vehicle</option>
<?php if(count($vehicleType) > 0){
foreach($vehicleType as $vt){ ?>
<option value="<?php echo $vt ?>" <?=isset($_GET['car_type'])&&$_GET['car_type']==$vt?'selected':'';?> ><?php echo $vt ?></option>
<?php }
} ?>
</select>
</div>
<div class="fields">
<p>Age of Youngest Driver</p>
<select class="half" id="driver" name="">
<option value="21-24">21-24</option>
<option value="25+">25+</option>
</select>
</div>
<input type="hidden" name="search" />
<div class="fields" style="text-align:center">
<input type="submit" value="Search" class="mitsub" />
</div>
</form>
车
谢谢,请帮忙
你可以在你的foreach()
里添加一个条件语句,它增加了selected
属性为option
。这将确保在选项列表中选择所选值。
<?php
if(count($vehicleType) > 0){
foreach($vehicleType as $vt){
echo "<option value='$vt'";
if(isset($_GET['car_type']) && $_GET['car_type'] == $vt){
echo " selected";
}
echo ">$vt</option>\r\n";
}
}
?>
你可以在一个这样做,你只需要确保逻辑是正确的。
echo "<option value='$vt'" . ((isset($_GET['car_type'] && $_GET['car_type'] == $vt) ? " selected" : "") . ">$vt</option>\r\n";
我只是觉得它更容易与全if
声明工作。
其实它对我来说工作正常只有年龄驱动程序字段为这个字段有2列数据库是driverage和driver_age.PLease也检查数据库的截图..http://prntscr.com/gldmh2 –
CHeck这一个http://prntscr.com/gldncu这是当我选择价值25 +和点击搜索后,它的作品完美,但再次当我点击搜索,然后就像这样http://prntscr.com/gldo6p –
你有一个提交按钮?告诉我们表单是如何发送的以及返回结果是什么php – SilverSurfer
@SilverSurfer我更新了我的问题请检查 –
为什么你不直接在html标签上放置attr属性? – SilverSurfer