你可以使用Javascript/AJAX來做到這一點。用戶從第一個菜單中選擇一個選項,然後下一個菜單自動更新選項,並向服務器發送請求,發送在第一個菜單上選擇的選項。
這可以用jQuery完成,我強烈建議您避免不同的瀏覽器問題。這是不完整的,但應該給你一個很大的開端:
HTML
<select id='jobs_menu' name='job'>
<option>Cook</option>
<option>Waiter</option>
</select>
<select id='employees_menu' name='employees'>
<option>John Doe</option>
<option>Doe John</option>
<option>Everyone else</option>
</select>
的Javascript/jQuery的
$(document).ready(function(){
$('#jobs_menu').change (function() {
//ajax call
$.get('http://yourscript.com/script.php', { job: $('#jobs_menu').val() },
function() {
//parse the json and fill the #employees_menu with the results
});
});
});
PHP
if (isset ($_GET['job']))
{
$names = array();
$job = mysql_real_escape_string ($_GET['job']);
$res = mysql_query ("SELECT name FROM Employees WHERE job='$job'");
while ($row = mysql_fetch_assoc ($res))
{
$names[] = $row['name'];
}
echo json_encode ($names);
}
謝謝!我會嘗試一下。我看到它是如何工作的,並認爲我可以通過使用document.myform.selectname.options [0] = new Option()填充選項來遍歷$名稱。 – ian 2009-08-29 12:12:01