-2

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

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

我遇到的问题是我的一些 onclick 元素旨在更改其他 div 的内容,但是它们所做的更改应该取决于它试图更改的 div 中已经显示的类别(例如搜索过滤器) .

所以:

示例 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 搜索值当前是“健康”?

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

那可能吗?

4

2 回答 2

0

除了使用<span onclick...,您还可以使用 normal <a href,将要请求的实际 url 作为href属性。您可以从 PHP 生成此 url。

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

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

优点是(按随机顺序):

  • 您已经找到答案(您需要的信息已经在网址中)。
  • 该站点也可以在没有 javascript 的情况下运行(不仅适用于旧版浏览器,还适用于可访问性)。
  • 屏幕阅读器实际上会识别链接,无论它们是否支持 javascript。
  • 该页面被搜索引擎更好地索引(它可以跟随链接)。
  • 链接的行为类似于链接,包括悬停、光标等。
  • 当有人想要“在新选项卡/窗口中打开”时,该链接有效
于 2012-10-12T09:01:58.303 回答
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>
于 2012-10-12T09:00:31.393 回答