【发布时间】:2016-12-21 18:00:54
【问题描述】:
我正在努力追随。简化我有一个包含两个表的数据库 表客户与客户 与客户、项目表项目
我有一个带有客户下拉列表的表单。 Onchange 选定客户端,通过函数 fetch_select(val) 和 fetch_data.php 填充第二个项目下拉列表。 这工作正常。
我在每个下拉列表中添加了一个最终添加新客户或项目的选项。在两个下拉列表中,“添加”选项都根据需要列在底部。 现在棘手的是如何在选择“添加”时更改 onchange。 在这种情况下,我希望弹出一个模式窗口,这样我就可以添加一个客户端或项目,它会在提交时消失,这样用户就会返回原来的状态。
我试图在函数 fetch_select(val) 中构建一个 if 语句,所以当客户端的内容是“add_client”时它不会启动 fetch_data.php
下面是我使用的代码:
文件 index3.php:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
include 'dbconnect.php';
?>
<script type="text/javascript" src="scripts/jquery-3.1.1.min.js"></script>
<script type="text/javascript">
function fetch_select(val)
{
$.ajax({
type: 'post',
url: 'fetch_data.php',
data: {
get_option:val
},
success: function (response) {
document.getElementById("projects").innerHTML=response;
}
});
}
</script>
<?php
echo "<table>";
echo "<form action='index3.php method='post'>";
echo "<tr>";
echo "<td>";
echo "<select name='client' id='client' onchange='fetch_select(this.value);'>";
echo "<option>Name of Firm</option>";
$select = mysqli_query($Verbinding,"SELECT client FROM clients GROUP by client");
while ($row = mysqli_fetch_array($select))
{
echo '<option value="'.$row['client'].'">'.$row['client'].'</option>';
}
echo "<option value='add_client'>Add Client</option>";
echo "</select>";
echo "</td>";
echo "<td>";
echo "<select name='project' id='projects'>";
echo "<option>Select Project</option>";
echo "</select>";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "</form>";
?>
文件:fetch_data.php
<?php
if(isset($_POST['get_option']))
{
include 'dbconnect.php';
$client= $_POST['get_option'];
{
$find = mysqli_query($Verbinding,"SELECT * FROM projects WHERE client='".$client."'");
while($row = mysqli_fetch_array($find))
{
echo "<option value='".$row['project']."'>".$row['project']."</option>";
}
}
echo "<option value='add_project'>Add Project</option>";
exit;
}
?>
希望任何人都可以帮助我。谢谢和问候,
保罗
【问题讨论】:
标签: javascript php jquery forms