【发布时间】:2012-03-11 23:42:53
【问题描述】:
我的情况似乎很奇怪。问题描述如下。
在我的 Web 应用程序中,我有三个选项卡,用户可以在其中输入和查看信息。主要选项卡包括:列表、时间偏好和搜索结果。在 Time Preference 选项卡中有一系列下拉选择选项,用户可以从中选择(可能大约 30 个或更多下拉框),这些选项本身是从 php 脚本生成的。
我用来生成选项的部分脚本。
<?php
// Create options for hour
for($i = 1; $i < 13; $i++)
$hourOptions.="<OPTION VALUE=\"$i\">".$i.'</option>';
?>
我在 Time Preference 选项卡底部有一个 GENERATE 按钮,借助从单独的 JS 文件导入的 jQuery,它可以 $.post 从我的 List 和 Time Preference 下拉框中的所有数据。唯一的问题是,当我返回上一个选项卡时,我的下拉框会重置。它会生成得很好,我的列表仍然保留,但是我所有的下拉框都重置了。
这就是我在我的 JS 文件中检索选定数据的方式。 convert 是我用来转换为 24 小时制的,因此可以忽略。这些行中还有大约 10-15 行允许不同的时间表,因此它们都使用 $.post 发布到 PHP 文件中。我已经使用 ALERT 进行了测试,并吐出了时间。在 $.post 之前我可以很好地检索它,但是在 $.post 之后它是空白的。任何提示/提示肯定会有所帮助。无论是在发布后将所选选项设置为原始状态的一种方式,还是只是从一开始就阻止它发生。
MWFStart = convertTime($('#MWFStartHour').val(),$('#MWFStartMinute').val(),$('#MWFStartMeridian').val());
【问题讨论】:
-
首先 -- 感谢 Matt 清理了这些内容。其次,我们可以看到 $post 代码,以及 DOM 的结构,从“三个主要选项卡”的容器开始。如果它很大,您可以将它们一起扔到 jsfiddle.net 或 pastebin.org 中。
-
这是我的 3 个标签的 HTML 部分:pastebin.com/Q1K6CaTY 和我的 $.post 代码:pastebin.com/Z8AaQu8g 如果您需要进一步解释,请告诉我。非常感谢,谢谢!
-
好的,很抱歉,但要明确一点——您在处理程序语句中使用 return false 或 preventDefault() 或 stopPropagation() 来执行发布的任何内容,对吗?跨度>
-
我没有使用 preventDefault()。如果用户将选项设置为默认值,将如何处理,是否仍会被阻止?
-
好吧,我只是在问,因为我不知道您是使用表单提交处理程序,还是只使用选择列表处理程序并自己发布变量。你用的是什么方法?
标签: php jquery html web-applications