2011-07-16 23 views
0

所以我想在最初通過ajax接收的頁面(內容)中編寫一些jquery的東西。但它不工作。如果我不通過ajax接收網頁,它的工作原理是完美的。不過,我希望當前頁面(通過ajax請求)與我正在做的jQuery搜索一起工作。我已經把這段代碼放在頁面上請求ajax內容,而不是工作,然後我試着把它放在ajax請求的內容上。讓jquery在通過ajax接收的頁面內工作

具有Ajax內容頁面有這樣的:

及其假設使用javascript函數如下

謝謝

<script type="text/javascript"> 

$(document).ready(function() { 

    var data = {items: [ 
      {value: "21", name: "Mick Jagger"}, 
      {value: "43", name: "Johnny Storm"}, 
      {value: "46", name: "Richard Hatch"}, 
      {value: "54", name: "Kelly Slater"}, 
      {value: "55", name: "Rudy Hamilton"}, 
      {value: "79", name: "Michael Jordan"} 
     ]}; 
    $("div.search input").autoSuggest(data.items, {selectedItemProp: "name", searchObjProps: "name"}); 

}); 
</script> 

回答

1

這真的很難理解沒有看到更多的代碼,頁面中發生了什麼。你的問題是你期望$(document).ready只有在你的ajax內容被加載後才能運行?如果是這樣的話,那麼你應該知道它在頁面被完全加載後運行,並且ajax請求不包括在內 - 它們是分開的。

如果這實際上是您的問題,您可以通過將$(document).ready內的所有內容移動到ajax回調函數來修復它。

0

如何將它放入一個自定義函數中,然後在內容加載後調用該函數?

function stuff() { 

    var data = {items: [ 
      {value: "21", name: "Mick Jagger"}, 
      {value: "43", name: "Johnny Storm"}, 
      {value: "46", name: "Richard Hatch"}, 
      {value: "54", name: "Kelly Slater"}, 
      {value: "55", name: "Rudy Hamilton"}, 
      {value: "79", name: "Michael Jordan"} 
     ]}; 

    $("div.search input").autoSuggest(data.items, {selectedItemProp: "name", searchObjProps: "name"}); 

} 

$(function() { 
    $('#content').load('something.html', function() { 
     stuff(); 
    }); 
}); 
相關問題