在附加之前使用jquery执行ajax结果

时间:2012-03-01 22:08:10

标签: jquery jquery-selectors

我有以下ajax成功功能。如何在添加jquery之前对结果进行操作?以下代码是我的尝试,但是,第二个控制台语句永远不会写。

查看当前的.filter行。我将此作为我在阅读并尝试不同方法后的最新尝试:Use Jquery Selectors on $.AJAX loaded HTML?

$(function ()
{
    $('#myactionlink').click(function (result)
    {
        $.ajax(this.href, {
            success: function (result)
            {
                console.log((new Date()).getTime() + ' - ' + 'result returned.');
                $(result).filter('input[name="RowId"]').each(function (i)
                {
                    var x = (i + 1).toString();
                    console.log((new Date()).getTime() + ' - ' + 'RowId: ' + x);
                    $(this).val(x);
                });
                $('#mypartial').append(result);
            }
        });
        return false;
    });
});

返回Html Partial。

<div>
    <input id="RowId" name="RowId" type="text" value="">
</div>

当前进展解决方案

$(function ()
{
    $('#myactionlink').click(function (result)
    {
        $.ajax(this.href, {
            success: function (result)
            {
                console.log((new Date()).getTime() + ' - ' + 'result returned.');
                var outResult = $(result);
                outResult.filter('[name="RowId"]').each(function (i)
                {
                    var x = (i + 1).toString();
                    console.log((new Date()).getTime() + ' - ' + 'RowId: ' + x);
                    $(this).val(x);
                }).end().appendTo('#mypartial');
            }
        });
        return false;
    });
});

1 个答案:

答案 0 :(得分:1)

存储对result的引用,修改它,然后附加它。

var outResult = $(result);
outResult.find('[name="RowId"]').each(...).end().appendTo("#mypartial");

您实际上是使用$(result)追加原始html并且没有使用您创建的html做任何事情。