我已经研究和研究过,我正在尝试使用jquery刷新div中的信息,但到目前为止无济于事。
我有一个div ....它的显示是隐藏的......我使用jquery点击一个用于淡化这个div的锚标签,在这个div中我有一个pp日历供客户选择日期,当他们选择一个日期时,他们被导航到另一个页面,但是我有两个下拉菜单,所以他们可以更改日历的月份和年份视图(这对我来说是一个可怕的PHP体验!)。当他们更改月份视图时,表单的“操作”将它们发送到同一页面,但是日历月视图被选中..问题是当表单将我们发送回到压缩页面时,div再次被隐藏,我们必须单击unfade div anchor标签。
我只能想到以下这样做的方法;当单击下拉菜单表单而不是使用更新的日历重新加载页面时,只需重新加载div(因为我在div中存储了日历(所有)的php以尝试执行此操作)。
但我只能在div中找到重新加载页面的代码。
任何想法......因为这个问题可以看作是一个小小的通用我不知道我可以提供哪些代码来帮助....
假设有问题的div被称为...#terms9,而锚标记被称为#showcalender。您需要的任何代码请索取。
感谢您阅读
答案 0 :(得分:2)
假设您的操作网址为calendar.php
。
当您更改下拉菜单时,您希望处理程序对同一页面发出请求,然后将该请求中的日历div加载到当前日历div中:
$('#mydropdown').on('change', function() {
$.get('calendar.php', { month: $(this).val() }, function(data) {
$('#mycalendar').replaceWith( $(data).filter('#mycalendar') );
});
});
.get()
是一种速记方法,它使用参数({ month: ... }
)请求url,并使用返回的数据调用提供的回调函数。在这里,我为正确的选择器解析该数据并替换现有的数据。
我在这里明确地对你的代码做了很多假设,但这是基本的想法。您也可以根据需要使用.load()
或任何其他ajax函数。
以下是使用.post()
的一个(稍微复杂的)示例:
在这种情况下,/echo/html/
将是你的php网址,而不是html: ...
,你会把你的php参数。
答案 1 :(得分:1)
如果您想重新加载div,可以查看jquery的load函数。
如果要重新加载整个页面,只需将div设置为在重新加载时不会隐藏在后端代码中。您可以根据请求中是否传递了下拉列表中的值来检测到这一点。