构建html字符串的函数需要包含来自另一个函数的结果

时间:2012-10-21 15:54:10

标签: jquery

我有一个构建HTML字符串(outStr)的jQuery函数,如下所示:

    function ShowUserInfo()
    {
        var userId = $("#users").val();
        if (userId == -1)
        {
            $("#userInfo").hide();
        }
        else
        {
            $.getJSON('Services/foobar.svc/GetUserById?userId=' + userId,
                function (data) {
                    var outStr = "";
                    $.each(data, function (index, elem) {
                        //var d = new Date(elem.DateOfBirth);
                        outStr += "<div class=\"user\">" +
                                "   <h3>" + elem.Forename + " " + elem.Surname + "</h3>" +
                                "   <p>Date of birth: " + elem.DateOfBirth + "</p>"
                    });
                    outStr += "<h4>Associated items</h4>"
                    outStr += [*** To do: add results from function ShowUserItemInfo ***];
                    outStr += "</div>"
                    $("#userInfo").show().html(outStr);
                }
            );
        }
    }

注意 *做* 部分:这是我遇到麻烦的地方。我有另一个函数(ShowUserItemInfo),它也以类似的方式构建一个HTML字符串。我想要的是简单地能够调用该函数并将其生成的HTML字符串附加到outStr。

但我无法让它发挥作用。

1 个答案:

答案 0 :(得分:0)

如果ShowUserItemInfo只返回一个字符串,你就可以调用这样的方法。

outStr += ShowUserItemInfo();

我认为该函数看起来像这样:

function ShowUserItemInfo(){
    return "<div>Hello world</div>"
}