2016-01-26 41 views
0

所以我傳遞變量的網址是這樣的:如何記住網址?

首先選擇菜單

<select name="car_id" onchange="location='newcar/'+this.value" > 
     <option>-</option> 
     <?php foreach ($cars as $car) {    
       if (isset($car->id)) { 
        echo "<option value=\"" . $car->id . "\">"; 
        echo $car->car . "</option>\n"; 
       } 
     } ?> 
     </select> 

所以,如果我按它會保存它的URL值的選項之一。但是,然後我有另一個選擇菜單,顯示模型,問題是該網址沒有顯示正確。 我不知道我應該在onchange上寫下第一個選擇菜單的變量。

我想我的網址顯示www.example.com/newcar/2/3但到目前爲止,我可以得到的是www.example.com/newcar/2,然後3號替換2號。

+1

顯示這兩個選擇(和他們的JS)的代碼,只是其中一個並沒有給我們整個圖片。該網址應該是'/ newcar/{firstSelectValue}/{secondSelectValue}'? –

+0

另外,不要顯示不相關的PHP代碼。始終嘗試將問題減少到可管理的部分。通常,除非您的問題涉及PHP,否則您應該顯示生成的(縮寫)HTML。 –

回答

1

我會用一個單一的功能,以應對變化既select

(window.onSelectChange = function() { 
 
    var val1 = document.getElementById('sel1').value; 
 
    var val2 = document.getElementById('sel2').value; 
 
    document.getElementById('url').value = 'http://example.com/something/' + val1 + '/' + val2; 
 
})()
input {width: 100%}
<select id="sel1" onchange="onSelectChange()"> 
 
    <option>1</option> 
 
    <option>2</option> 
 
    <option>3</option> 
 
    <option>4</option> 
 
</select> 
 

 
<select id="sel2" onchange="onSelectChange()"> 
 
    <option>1</option> 
 
    <option>2</option> 
 
    <option>3</option> 
 
    <option>4</option> 
 
</select> 
 

 
<hr /> 
 
URL: <input id='url' />

注意,上面並沒有顯示出「最佳實踐」,我試圖保持它接近你的代碼越好。