无法在jQuery中处理从ajax请求插入的数据

时间:2010-08-15 05:55:05

标签: javascript jquery

调用服务器并转动数据后,它返回到表中。我使用jQuery的.html()语法将其插入到页面中。之后,数据出现在页面中,但我无法使用jQuery操作它。

继承人代码:

<html>
<head>
    <title>testJavaScript</title>

    <script type="text/javascript" src="jquery-1.4.2.js"></script>

    <script type="text/javascript">

    function makeTable(data) {

        var htmlOut = "<table id=\"AjaxTable\">";

        for (x in data) {
            htmlOut += "<tr>";
            for (y in data[x]) {
                htmlOut += "<td>"+data[x][y]+"</td>";
            }
            htmlOut += "</tr>";
        }

        htmlOut += "</table>";

        return htmlOut;
    }

    function getValue() {
        return $("#MyText").val()
    }

    $(document).ready(function () {

        $("img").hover(function () { //This dosent work on the data returned from the server
            $(this).hide(1000)
            //$(this).css({'background-color': '#357EC7', 'border': '2px solid #2B60DE'});
        })

        $("#populateDrop").click(function () {
            $.getJSON('http://127.0.0.1:5000/ajaxTest/json?num='+ getValue() +'&callback=?', function(data) {
                $(".result").html(makeTable(data.data));
            })

        })
    })
    </script>
</head>

<body>
    <img src="http://www.sharejs.com/code/windows/light-window/gallery/1-nature.jpg" width="50" height="50" /></br>
    <form>
    <input id="MyText" type="text" value="15" />
    </form>
    <a href="#" id="populateDrop">Populate!</a></br>
    <div class="result"></div>
</body>

1 个答案:

答案 0 :(得分:0)

您需要使用live代替动态数据:

$("img").live('hover', function () {
 $(this).hide(1000);
});

更多信息: