我有一个带有2个下拉菜单的简单表单,我需要从第一个下拉列表中发布值,然后转到第二个下拉列表中的链接(将显示第一个下拉值)。我可以让它们中的任何一个工作(一个带有一些javascript)但不能同时使用它们两个?
<form action="" method="POST" id="carform">
<select name="carlist">
<option value="new">New</option>
<option value="used">Used</option>
</select>
<select name="link">
<option value="car/volvo.php">Volvo</option>
<option value="car/saab.php">Saab</option>
</select>
<input type="submit">
</form>
答案 0 :(得分:0)
保持课程简单。您正在搜索JavaScript&amp; AJAX。首先,您需要创建一个动态创建选项的页面。例如 ajax.php :
<?php
$car_state = $_POST['state'];
/* depending on your data format you need to filter the $car_state or make them e.g.
* 1 for new and 2 for used and run intval($_POST['state'])
* the best would be prepared statements but its your choice
*/
#operations on your data
foreach($data as $row)
{
echo '<option value="'.$row->url.'">'.$row->name.'</option>';
}
?>
然后你需要使用onchange事件。您可以使用jQuery来保持简单,但它不是唯一的选择。所以将其添加到HTML格式中。
<script type="text/javascript">
$('select[name=carlist]').change(function() {
var state_value = $(this).val();
if(state_value != "")
{
$.post('ajax.php', {state: state_value}, function(data) {
$('select[name=link]').html(data);
});
}
});
</script>