在更改选择上更改表单操作

时间:2016-12-21 09:52:09

标签: javascript php jquery forms

我正在努力追随。简化我有一个包含两个表的数据库 表客户端与客户端 表项目与客户,项目

我有一个包含客户下拉列表的表单。通过函数fetch_select(val)和fetch_data.php替换所选客户端,填充第二个项目下拉列表。 这很好用。

我已在每个下拉列表中添加了一个添加新客户端或项目的final。在两个下拉列表中,"添加"选项根据需要列在底部。 Tricky现在是如何在"添加"被选中。 在这种情况下,我想要弹出一个模态窗口,这样我就可以添加一个客户端或项目,它会在提交时消失,因此用户将返回他或她。

徒劳无功,我试图在函数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;
}
?>

希望有人能帮助我。谢谢和问候,

1 个答案:

答案 0 :(得分:1)

除非我误解,否则这看起来相当简单:

function fetch_select(val)
{   
  if (val != "add_client")
  {
    $.ajax({
     type: 'post',
     url: 'fetch_data.php',
     data: {
       get_option:val
     },
     success: function (response) {
      document.getElementById("projects").innerHTML=response; 
     } 
    });
  }
  else
  {
    //code here to show your popup
  }
}
相关问题