Javascript 从下拉列表中打开模式以添加客户端
链接到我昨天关于如何让选择器的值改变javascript行为的前一篇文章,我在打开模式窗口时遇到了麻烦 其思想是,如果从第一个下拉列表中选择了“添加客户端”,则会弹出一个模式窗口,允许用户添加客户端,而不是用“项目”动态填充第二个下拉列表 我有index3.php:Javascript 从下拉列表中打开模式以添加客户端,javascript,php,jquery,css,modal-dialog,Javascript,Php,Jquery,Css,Modal Dialog,链接到我昨天关于如何让选择器的值改变javascript行为的前一篇文章,我在打开模式窗口时遇到了麻烦 其思想是,如果从第一个下拉列表中选择了“添加客户端”,则会弹出一个模式窗口,允许用户添加客户端,而不是用“项目”动态填充第二个下拉列表 我有index3.php: <?php error_reporting(E_ALL); ini_set('display_errors', 1); include 'dbconnect.php'; ?> <script type="tex
<?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)
{
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 to open modal below
success: function overlay() {
el = document.getElementById("overlay");
el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";
}
//code to open modal above
}
}
</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>";
echo "<div id='overlay'>";
echo "<div>";
echo "<p>Content of modal window.</p>";
echo "</div>";
echo "</div>";
?>
希望任何人都能帮忙,保罗,谢谢你,并致以亲切的问候
success: function overlay() {
el = document.getElementById("overlay");
el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";
}
他什么也没做。您已经将ajax调用的“success”回调(它定义了一个选项,包含一个稍后运行的函数)与常规的日常代码混淆了
假设您的模态id定义为“覆盖”,则您可以执行以下操作:
else
{
//code to open modal below
el = document.getElementById("overlay");
el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";
//code to open modal above
}
亲爱的阿德森,谢谢你指出这一点。现在它工作了!非常感谢!!!
else
{
//code to open modal below
el = document.getElementById("overlay");
el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";
//code to open modal above
}