我到了那里。我最终使用了一些Javascript和额外的HTML。我也用jquery.chained来正确工作。
$(function(){
$("#asset").remoteChained({
parents : "#location",
url : "selectData.php?smartload=1",
loading : "loading assets....",
});
});
所以当位置加载或选择它唤醒另一个PHP脚本,然后使用IF语句返回与不同的MySQL查询值。 (下面的例子)。
<?php
if (isset($_GET["smartload"])) {
sleep(1);
}
header("Access-Control-Allow-Origin: *");
$response[""] = "--";
/* Locations and asset details data
-------------------------------------------------------- */
if (isset($_GET["location"])) {
if ("1" == $_GET["location"]) {
$pdo = new PDO('mysql:host=localhost;dbname=********', 'root', '********');
#Set Error Mode to ERRMODE_EXCEPTION.
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->prepare('SELECT id,assetcode from assets where location=1');
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
$response ["$row[id]"]="$row[assetcode]";
}
};
if ("2" == $_GET["location"]) {
$pdo = new PDO('mysql:host=localhost;dbname=********', 'root', '********');
#Set Error Mode to ERRMODE_EXCEPTION.
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->prepare('SELECT id,assetcode from assets where location=2');
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
$response ["$row[id]"]="$row[assetcode]";
}
};
if ("3" == $_GET["location"]) {
$pdo = new PDO('mysql:host=localhost;dbname=********', 'root', '********');
#Set Error Mode to ERRMODE_EXCEPTION.
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->prepare('SELECT id,assetcode from assets where location=3');
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
$response ["$row[id]"]="$row[assetcode]";
}
};
}
print json_encode($response);
?>
然后下拉“资产”的ID填充在javascript文件中调用的php文件中。
谢谢!
JavaScript在第一个下拉列表中更改事件。如果发出ajax请求并填写第二个下拉列表。 – Daan
这段代码没有任何内容,因为它可以选择一个部门。所以你必须首先加载空的资产下拉菜单。然后,当使用AJAX选择Dept时,请从单独的PHP脚本请求Asset下拉内容,将Dept_id传递给Dept_id并返回资产,并使用javascript填充Assets DD – RiggsFolly
如果值为HTML作为个人选择。只有大约10个地点,我不能预见,增长... –