使Jquery在通过ajax接收的页面中工作

时间:2011-07-16 01:45:50

标签: javascript jquery ajax

所以我试图在最初通过ajax接收的页面(内容)中编写一些jquery内容。但它不起作用。如果我没有通过ajax接收页面,它的工作完美。但是我希望当前页面(通过ajax请求)与我正在进行的jquery搜索一起工作。我已将此代码放在请求ajax内容的页面上,而不是正常工作,然后我尝试将其放在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>

2 个答案:

答案 0 :(得分:1)

如果没有看到更多代码,很难理解页面中发生了什么。你的问题是你希望只有在你的ajax内容被加载后才能运行$(document).ready吗?如果是这种情况,那么你应该知道它是在页面完全加载后运行的,并且ajax请求不包括在内 - 它们是分开的。

如果这确实是您的问题,您可以通过将$(document).ready中的所有内容移动到ajax回调函数来修复它。

答案 1 :(得分: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();
    });
});