1

下面的代码将服务器中的函数html返回的添加returndatafromdb2()到具有 id 的表中resultstable2。函数返回的 htmlreturndatafromdb2()格式如下:

"<tr><td>some text</td><td>more text</td></tr><tr><td>some text</td><td>more text</td></tr><tr><td>some text</td><td>more text</td></tr>"

正如您在我.load()从 jquery使用的代码中看到的那样,html从服务器获取并将其添加到表中。但是,我使用的代码替换了表中的现有行,而不是添加到表中。如何使用 jQuery.load()函数将行添加到现有行而不替换它们?

如果我能以某种方式将从函数接收到的 html 分配.load()给一个变量,比如说newhtml,我可以做类似的事情$(newhtmltext).appendTo('#resultstable2')。但我不知道如何将获得的html分配给.load()变量,或者将其用作字符串。

编码:

使用 jquery 创建表

<p>Method 2</p>

    <table id="resultstable2">
        <tr>
            <th>Grade</th>
            <th>Price</th>
        </tr>
    </table>

<button id="b2">Execute returndatafromdb2()</button>

<script type="text/javascript">

    $.ajaxSetup({
        cache: false
    });


    var getdata2 = function(){
        var loadurl2 = "{{=URL('default', 'returndatafromdb2')}}";
        $('#resultstable2').load(loadurl2));
    };

    $('#b2').click(getdata2);

</script>
4

3 回答 3

3

没有办法使用该load()功能来做到这一点。您将需要使用普通的 ajax 调用并编写自己的回调函数。像这样的东西:

var getdata2 = function() {

    var loadurl2 = "{{=URL('default', 'returndatafromdb2')}}";
    $.get(loadurl2,function(data){
        $('#resultstable2').append(data);   
    },'html');

};

$('#b2').click(getdata2);
于 2012-08-08T15:46:17.477 回答
1

只需使用append而不是load()

var getdata2 = function() { 
    var loadurl2 = "{{=URL('default', 'returndatafromdb2')}}";
    $.get(loadurl2,function(data){
        //Here goes the append :-)
        $('#resultstable2').append(data);   
    },'html');
};

$('#b2').click(getdata2);
于 2012-08-08T15:49:10.737 回答
0
jQuery.get( loadurl2 ,'', function(d){

$('#resultstable2').append(d);

} )
于 2012-08-08T15:46:09.650 回答