2016-12-21 173 views
0

我正在努力跟隨。簡化我有一個有兩個表的數據庫 客戶端的客戶端 客戶端,項目的表項目更改表單動作更改選擇

我有一個客戶端下拉列表的表單。通過函數fetch_select(val)和fetch_data.php來選擇客戶端的Onchange,然後填充第二個項目下拉列表。 這工作正常。

我已經添加到每個下拉列表最後添加一個新的客戶端或項目。在下拉列表中,「添加」選項根據需要列在底部。 現在整蠱現在如何在選擇「添加」時更改onchange。 在這種情況下,我想要一個模式窗口彈出,這樣我就可以添加一個客戶端或項目,在提交時消失,因此用戶將返回他或她。

枉我已經試過,如果建立一個聲明中的函數fetch_select(VAL),所以它會在客戶端的內容是「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

除非我誤解了,這似乎相當簡單:

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 
    } 
} 
+0

謝謝ADyson您的快速反應。如果其他工程可行,那麼這是第一步。但是,我無法設法顯示模態窗口。我添加了一個css樣式表。 –

+0

沒問題。這個答案解決了你的問題,所以如果有幫助請標記爲已接受,謝謝:-)。在添加模式方面,直到您展示您到目前爲止所使用的HTML/CSS/Script,我們無法真正幫助您 - 可能需要一個單獨的問題,因爲它實際上是一個單獨的問題。 – ADyson

+0

P.S.如果你在這裏鏈接到你的新問題,我會嘗試和幫助 – ADyson