我在描述这个问题时失败了,但在这里它会......
我有home.php,非常只是:
<body>
<div id='leftColumn'>
<?php include ('includes/roomQuery.php')
</div>
</body>
现在, roomQuery.php回应我的sql专栏&#39; room_name&#39;从桌子&#39;房间&#39;如下:
echo "<td><a href=\"room.php?room=$roomName\">$roomName</a></td>";
任何房间链接都会将我带到room.php并通过$ _GET填充与$ roomName相关的更多查询的页面。
room.php基本上是:
$get = $_GET['room'];
$query
while($row = $result->fetch_assoc()){
echo $query
这完全适用于它。
====================================
但是,我试图让我的网站流程更好,并且已经尝试了jQuery .load函数。到目前为止,我已将roomQuery.php更改为:
echo "<td><button>$roomName</button></td>";
这是我的jQuery用room.php #page:
替换home.php #page $(document).ready(function(){
$("button").click(function(){
$("#page").load("room.php #page",function(responseTxt,statusTxt,xhr){
if(statusTxt=="success")
alert("Success");
if(statusTxt=="error")
alert("Error: "+xhr.status+": "+xhr.statusText);
});
});
});
当我点击roomQuery.php吐出的任何按钮时,它会完全取代#page,但我无法理解如何将$ _GET [&#39; room&#39;]发送到room.php以便加载#page时,信息仍然与我点击的房间相对应。如果我将jQuery更改为
$("#page").load("room.php?room=CL%20124 #page"
然后#page将使用特定于房间CL 124的数据填充。是否可以在单击按钮时将从roomsQuery.php输出的按钮文本发布到room.php #page?
答案 0 :(得分:0)
是的,您可以pass data进入.load()
来电,作为第二个参数。
首先,您需要弄清楚如何将DOM中的房间ID转换为您的jQuery调用,也许您可以在按钮元素上使用数据属性,如下所示:
<button data-room-id="123">Click me</button>
然后像这样使用jQuery:
$("button").click(function(){
// define your room ID here, however you do it
var your_room = $(this).data('room-id');
$("#page").load(
"room.php #page",
{
room: your_room
},
function(responseTxt,statusTxt,xhr){
if(statusTxt=="success")
alert("Success");
if(statusTxt=="error")
alert("Error: "+xhr.status+": "+xhr.statusText);
}
);
});
修改:注意到您实际上可能正在使用按钮的值作为您的房间ID,如果是,请使用以下定义:
var your_room = $(this).val();
如果您希望此值中包含空格或非字母数字字符,则可能需要在发送之前考虑URL encoding。