为此,您需要使用AJAX。这可以使用普通的旧 javascript 或您最喜欢的库来完成。使用库会容易得多。我自己倾向于使用YUI。
你需要做的很简单:
- 听取项目选择框的更改。
- 发生更改时,使用 AJAX 向您的 PHP 端点发送请求。
- 然后,您的端点会返回一个 JSON 响应,其中包含任务选择框的值。
- 使用 javascript 解码 JSON 响应并
<option>
为您的任务选择框创建元素。
一个简单的例子:
PHP端:
<?php
$list = array('list' => array('task1' => 1, 'task2' => 2));
header('Content-Type: application/json; charset=utf-8');
echo json_encode($list);
exit();
JS 端(我使用的是 YUI,这仅适用于 AJAX,您仍然需要编写代码来监听选择框的变化):
<script>
// Create a YUI instance using io-base module.
YUI().use("io-base", function(Y) {
var uri = "get.php?foo=bar";
// Define a function to handle the response data.
function complete(id, o) {
var data = Y.JSON.parse(o.responseText);
//Parse the JSON, loop and insert the options here.
};
// Subscribe to event "io:complete"
Y.on('io:complete', complete);
// Make the request
Y.io('http://mysite.com/myendpoint.php');
});
<script>