2012-12-07 14 views
0

我有​​功能這個jQuery腳本和這個腳本保存在文件名爲header.php:對對方如何將PHP變量用於jQuery .load()腳本?

$(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變成XXXXXX部分的jQuery腳本:'file001.php?key=XXXXXX'

請注意$ Key是從WH動態生成的ILE循環。意味着,每個循環週期都有不同的值。

感謝之前

+1

添加該id作爲div的屬性,然後可以通過該屬性從javascript訪問它。 –

回答

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() 
+0

我從第一個循環獲得了完美的$ Key,但第二個循環直到其餘部分相同在第一個循環中使用$ Key –

+0

是的,它有一個錯誤,我已經更新了我的答案,修復了jquery代碼,試試吧。 – Nelson

+0

最後一個.load用於什麼?不夠用.load(「 file001.php?key「+ $(this).data('key')在第一部分? –

0

你的問題不是很清楚,但我認爲你想你的負載線改變這一點 -

.load("file001.php", {key:XXXXXX}, function() { 
+0

我只是想讓.load部分變成這樣:.load(「file001.php?key = $ Key」)哪個$ Key是由PHP生成的。 –

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() 
    { 
     // ... 
    } 
    ) 

    } 
) 

} 
) 
+0

當我嘗試回顯$ _GET ['key']的變量時,我得到'undefined'作爲你的輸出:+ $(this).attr('data-key') –

+0

查看源代碼。 '.wrapper_area divs'的'data-key'屬性是什麼? – MichaelRushton

+0

我完全按照我在WHILE循環中預期的方式看到動態數據鍵。但我認爲這裏缺少一些東西:.load('file001.php?key ='+ $(this).attr('data-key'),所以當我嘗試獲取變量時:$ _GET ['key']我得到'undefined'作爲輸出 –