所以我在这个URL中传递变量:
首先选择菜单
<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>
因此,如果我按下其中一个选项,它会将其值存储在网址上。但后来我有另一个显示模型的选择菜单,问题是网址显示不正确。 我不知道我应该在第一个选择菜单的变量所在的onchange上写什么。
我希望我的网址显示www.example.com/newcar/2/3
,但到目前为止,我可以获得www.example.com/newcar/2
,然后数字3替换为数字2。
答案 0 :(得分: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' />
请注意,上面没有显示“最佳做法”,我试图让它尽可能接近您的代码。