每次您从<select>
标签更改选择时,我都希望使用 ajax 动态创建复选框,请参阅下面的屏幕截图以了解相关的表单部分:
注意: “队列”下的复选框应该是动态的。
目前,当您更改Team的值时,它会获取团队名称(在本例中为“Test”),然后使用 ajax (POST) 返回该团队的 Manager 名称。
我想要它做的是查找另一个表,其中包含与每个团队相关的“队列”列表;我将在“ Manager Name ”字段的标签中添加一个“onchange”属性。
下面是我目前用来完成Team => Manager Name动态填充的代码:
<script>
window.onload = function() {
getManager($("#team").val());
}
function getManager(team) {
$.ajax({
type: "POST",
url: "getManager.php",
data: {team:team}
}).done(function( manager ) {
$("#manager_name").val(manager);
});
}
</script>
这是getManager.php
它使用的文件:
<?php
require("../../database/db.php");
$mysqli = new db("nab_reporting");
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
$team=$mysqli->real_escape_string($_POST['team']);
$result = $mysqli->query("SELECT manager_name FROM team WHERE teamname = '".$team."'");
$row = $result->fetch_assoc();
echo $row['manager_name'];
mysqli_close($mysqli);
?>
请记住,上述方法有效;我现在需要一种方法来使用将使用 ajax(类似于上面)的Manager Nameonchange
字段的属性,将当前在该字段中的值(在本例中为 Kane Charles)传递给另一个 php 页面,并将返回一个结果集(数组或 JSON 可能?)包含数据库中与该团队名称匹配的所有队列的列表。
以下是每个不同位的 html 代码:
团队
<select name="team" id="team" required="required" onchange="getManager(this.value)">
<?php
include(__DIR__ . "/../../database/db.php");
$db = new db("nab_reporting");
$result = $db->query("SELECT teamname FROM team");
while ($row = $result->fetch_assoc()) {
echo "
<option value=\"" . $row['teamname'] . "\">" . $row['teamname'] . "</option>
";
}
$db->close();
?>
</select>
经理姓名
<input type="text" name="manager_name" id="manager_name" required="required" onchange="getQueues(this.value)">
队列
<label>
Queues
</label>
<div id="queue_options">
<!-- queues dynamically created here -->
</div>
我需要queue-options
删除 的内容并将其重置为仅与当前团队关联的队列;我没有对 ajax 做很多事情,因此我在这里发帖。