我如何(ajax)根据其当前内容更改div的内容?

时间:2012-10-12 08:52:05

标签: php javascript html mysql

我有一个主页,其中包含很多“onclick”元素,这些元素使用ajax替换不同div的内容。

这些onclick元素中的大多数都包含在它们更改的div中,因此它们会自行删除并显示新的onclick选项。

我遇到的问题是我的一些onclick元素是为了改变OTHER div的内容,但是他们所做的改变应该取决于它试图改变的div中已经呈现的类别(如A搜索过滤器)。

所以:

示例1:

<div id="1">
HEALTH
<span onclick="ajaxfunction(div1)"> Doctors </span>
<span onclick="ajaxfunction(div1)"> Dentists </span>
<span onclick="ajaxfunction(div1)"> FItness Clubs </span>

<div id="2">
ELECTRONICS
<span onclick="ajaxfunction(div2)"> Video Games </span>
<span onclick="ajaxfunction(div2)"> Computers </span>
<span onclick="ajaxfunction(div2)"> Televisions </span>



<div id="filter">
Select max distance from store

 <form>
 Radio buttons, options 0, 5, 10 miles
 <input type="submit" **onclick="query(div1)**> Refine Results </input>

所以我在这里要做的重要事情是,在粗体js函数中,“查询”我将使用mysql select语句来执行当前div1结果的子查询。

我的问题是,如何让我的js函数“查询”知道div 1搜索值当前是“HEALTH”?

我应该创建一个PHP会话变量,保存div的当前值,其值被分配给javascript变量吗?

这可能吗?

2 个答案:

答案 0 :(得分:0)

使用全局javascript var保存div状态

<script>

var current_stat = 'HEALTH';

function query()
{
    // check the current_Stat
    // do stuff based on the current staff 
    // change the current staff if the div contents chang 
}
</script>

答案 1 :(得分:0)

您可以使用普通<span onclick...,而不是使用<a href,并使用实际网址作为href属性进行请求。您可以从PHP生成此URL。

然后,(使用JQuery,如果你愿意)你可以将onclick事件添加到这些链接,使它们成为点击链接的URL。

如果您正确实现了该搜索页面,它将仅在搜索结果为AJAX请求时呈现,但如果不是AJAX请求则在其中显示包含结果的整页。使用适当的PHP后端,这应该像后端代码中的单个if一样简单。

优点是(按随机顺序):

  • 您找到了答案(您需要的信息已经在网址中)。
  • 该网站也可以在没有javascript的情况下工作(不仅适用于旧浏览器,还适用于辅助功能)。
  • 屏幕阅读器实际上会识别链接,无论它们是否支持javascript。
  • 搜索引擎可以更好地索引页面(可以点击链接)。
  • 链接的行为类似于链接,包括悬停,光标等。
  • 当有人想要“在新标签/窗口中打开”
  • 时,此链接有效