これが機能するには、 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>