我有这个带有.load()
函数的jQuery脚本,这个脚本保存在名为header.php
的文件中:
$(document).ready(function() {
$('.my-wrapper').find(".wrapper-area").append('<div class="loadergif"></div>').load("file001.php?key=XXXXXX", function() {
$(this).find('.wrapper-area').remove('.loadergif');
var $container = $('.list-wrap');
$container.imagesLoaded( function(){
$container.masonry({
itemSelector : '.my-wrapper'
});
});
});
另一方面,我在文件名为body.php上有这个PHP变量:
while($row = mysql_fetch_array($result)){
$Key = $row['key'];
echo '<div class="wrapper-area">';
//jQuery script will produce something here
echo '</div><!-- .wrapper-area -->';
}
现在问题是如何从PHP文件中获取$ Key成为jQuery脚本的XXXXXX的一部分:'file001.php?key=XXXXXX
'
请注意,$ Key是从WHILE循环动态生成的。意味着,每个循环周期都有不同的值。
之前感谢
答案 0 :(得分:1)
在PHP中,替换以下行:
echo '<div class="wrapper-area">';
这个:
echo '<div class="wrapper-area" data-key="'.$Key.'">';
在jQuery中,替换以下行:
$('.my-wrapper').find(".wrapper-area").append('<div class="loadergif"></div>').load("file001.php?key=XXXXXX", function() {
这个:
$('.my-wrapper').find(".wrapper-area").each(function() {
$(this).append('<div class="loadergif"></div>').load("file001.php?key"+$(this).data('key'), function() {
...
...
}); //close the each() call
}); //close document.ready()
答案 1 :(得分:0)
你的问题不太清楚,但我认为你想把你的负载线改为这个 -
.load("file001.php", {key:XXXXXX}, function() {
答案 2 :(得分:0)
你可以尝试这个来构建包装器:
while ($row = mysql_fetch_assoc($result))
{
echo '<div class="wrapper-area" data-key="' . $row['key'] . '">';
// ...
}
这适用于jQuery:
$(function()
{
$('.my-wrapper').find('.wrapper_area').each(function()
{
$(this).append('<div class="loadergif"></div>').load('file001.php?key=' + $(this).attr('data-key'), function()
{
// ...
}
)
}
)
}
)