gpt4 book ai didi

php - 如何刷新父页面上的下拉列表

转载 作者:行者123 更新时间:2023-11-28 23:55:18 25 4
gpt4 key购买 nike

我在 PHP/HTML 页面上有一个下拉列表。我旁边有一个按钮,单击它会打开一个弹出窗口,通过它我可以将更多项目添加到下拉列表中(它存储在 mysql 表中)。当我关闭弹出窗口时,它应该触发一个事件,该事件又应该刷新父页面上的下拉列表。

怎么做?谢谢!

编辑:页面上有 2 个下拉列表。第二个 DDL 中的选项列表取决于在第一个 DDL 中所做的选择。在第二个 DDL 旁边,有一个按钮可以打开一个弹出窗口。使用 PPW 可以将选项添加到第二个 DDL(存储在 mysql 表中)。

现在弹出窗口选项运行良好,数据已保存在表中。现在我唯一的选择是刷新页面。我希望在单击 PPW 上的关闭按钮时发生事件。此事件应以先前选择的选项保持选中状态的方式刷新第一个 DDL。是否也可以这样:我添加的数据应该在2nd DDL中选择。

代码

第一个 DDL

<td>State Name</td> 
<td><select id="a" name="a" onchange="ajax(this.value);">
<option value="">Select State Name</option>
<?php
$sql = "SELECT * FROM State";
$abc = mysql_query($sql);
while($row = mysql_fetch_array($abc)){
echo "<option value=\"".$row['scode']."\">".$row['State']."</option>\n";}
?>
</select></td>

第二个 DDL

<td>School Name</td>
<td><select name="schname">
<option value="">Select School Name</option></select>
<A href="addsch.php?State=<?php echo $state?>&scode=<?php echo $scode?>"Target='_blank'>Add New School Name</a></td>

名为“ab”的 ajax 函数在选择第一个 DDL 时执行刷新。

addsch.php 在带有提交按钮的弹出窗口中打开一个表单,该按钮将表单数据保存到 mysql 表中。

示例:我从第一个 DDL 选择“State1”,“State1”中的学校名称显示在第二个 DDL 中。我想添加一个学校名称(比如“State2”到第二个 DDL,所以我使用添加选项。保存表单数据后,我希望第一个 DDL 以“State1”保留在那里并且第二个 DDL 显示“State2”。否则至少刷新第一个 DDL,然后用户可以自己从第二个 DDL 中选择“State2”。

如何做到这一点?

最佳答案

如果它存储在 MYSQL 表中,则系统无法在不实际刷新页面的情况下刷新下拉列表。如果我理解正确,这可能会对您有所帮助:

Open popup and refresh parent page on close popup

如果您不想刷新页面而只想刷新下拉列表,那么您必须自己制作一个 AJAX 函数。

编辑:从外观上看,您最好不要刷新整个页面并执行一个 javascript 函数,该函数会将选项输入的值存储到 session 数组中,每次您加载此页面时,它都会查找这个值(value)。如果未设置 key ,则将选择第一个列表中的第一个选项。

快速浏览一下这个 js fiddle :

https://jsfiddle.net/98k456ho/1/

Needs jQuery

不幸的是,它不能工作,因为它使用 sessionStorage,但您可以将其粘贴到您的 php 文件中,它应该可以工作。

sessionStorage 与 localStorage 类似,允许您存储可快速访问的键/值“对象”。与简单的 cookie 相比,它允许您存储更多数据。

此代码的作用是,每次您从列表中选择一个选项时,该值都会存储到 session 数组中。每次加载页面时,它都会在 session 中查找该值,如果选择了第一个值或用户没有选择单个值,它会将默认值设置为“选择”。

在您的情况下,如果用户选择例如“加利福尼亚”,他将可以访问第二个列表中的所有选项。关闭弹出窗口后,因为所有内容都存储在 session 中,所以一切都将相同。

需要注意的一件重要事情是,javascript 需要在您执行 mysql 查询之前运行,否则将选择第一个下拉列表中的值,但您的第二个列表中将没有或错误的值。

关于php - 如何刷新父页面上的下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31851453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com