2

我正在使用 php 和 ajax 页面加载在 php 中创建一个数据列表,就像 redbus.in 一样,我是 php 和 jquery 和 ajax 的新手。

我希望当我单击“查看座位”按钮时,动态数据会发生 ajax 页面加载。

我正在使用 Jquery 使用下面的代码来实现这一点

<script type="text/javascript">
$("#viewseatContainer").hide();
$(document).ready(function() {

     $("#viewseat").click(function(){
     $("#viewseatContainer").toggle();
     });
 }); 

但在我的数据列表中,只有第一项显示查看座位信息

在我的 PHP

echo ...

'<td id="abc"><a href="#" onclick="javascript:ajaxpage(\'view.php?id='.$_SESSION['$bus_id'].'
,&from='.$_SESSION['$bus_startstation'].',&to='.$_SESSION['$bus_endstation'].' 
,&date='.$_SESSION['date'].' \' , \'viewseatContainer\')">
<img src="themes/frontend/images/redbtn.png" width="100" height="32" id="viewseat" /></a></td>'.
'<td>ID:'.$_SESSION['$bus_id'].'</td>'.

对于 Ajax 页面加载,我使用了一个简单的插件

我的问题是我有 viewseatContainer 和 id= viewseat 使用 Jquery 如何切换每个或任何记录以使用 ajax 页面加载加载 view.php。

为了更清楚,我在粘贴箱中给出了我的完整代码

http://pastebin.com/dB8STTSR (jquery)

http://pastebin.com/Raa5TJCG (数据网格)

4

1 回答 1

0

吴州首先做一件事

使用这个 Jquery

 <script type="text/javascript">
 $("#viewseatContainer").hide();
var x = <?php echo $_SESSION['$bus_id']?>;
$.each(x, function (i, elem) {
    $("#" +'viewseatContainer' + x).toggle();
});
 });
 </script>

然后转到您的 PHP 代码页(您给出的第二个 pastebib 页面),然后将总线 ID 添加到 AJAX 加载容器中,如下所示

'<tr>'.
'<td>'.$_SESSION['$travel_name'].'</td>'.
'<td><a href="#">Photogallary</a></td>'.
'<td><a href="#">Via</a></td>'.
'<td id="abc"><a href="#" onclick="javascript:ajaxpage(\'view.php?id='.$_SESSION['$bus_id'].'&from='.$_SESSION['$bus_startstation'].'&to='.$_SESSION['$bus_endstation'].'&date='.$_SESSION['date'].'\',\'viewseatContainer'.$_SESSION['$bus_id'].'\')"><img src="themes/frontend/images/redbtn.png" width="100" height="32" id="'.$_SESSION['$bus_id'].'" /></a></td>'.
'<td>ID:'.$_SESSION['$bus_id'].'</td>'.
'</tr>'.
'<tr>'.
'<td colspan="6" id="vsc">'.
'<div id="viewseatContainer'.$_SESSION['$bus_id'].'"></div>'.
'</td>'.
'</tr>'

并记住一件事,因为 viewseatContainer 有多个实例,您可以将其隐藏为不在此处的类

 $("#viewseatContainer").hide();// use a class to hide

现在你准备好了...

于 2012-11-18T11:29:23.473 回答