2017-09-15 107 views
0

我想在搜索後將所選值保留在選擇框中。這是一個車輛搜索過濾器頁面,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> 

謝謝,請幫忙

+0

你有一個提交按鈕?告訴我們表單是如何發送的以及返回結果是什麼php – SilverSurfer

+0

@SilverSurfer我更新了我的問題請檢查 –

+0

爲什麼你不直接在html標籤上放置attr屬性? – SilverSurfer

回答

0

你可以在你的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聲明工作。

+0

其實它對我來說工作正常只有年齡驅動程序字段爲這個字段有2列數據庫是driverage和driver_age.PLease也檢查數據庫的截圖..http://prntscr.com/gldmh2 –

+0

CHeck這一個http://prntscr.com/gldncu這是當我選擇價值25 +和點擊搜索後,它的作品完美,但再次當我點擊搜索,然後就像這樣http://prntscr.com/gldo6p –