1

我看到一堆类似的问题,但没有找到我需要的答案。我有这个功能:

function fnGetContent(keyword) {
    var NewKeyword = keyword.tag;
    var type = keyword.type;
    $.ajax({
        type: "POST",  //GetEvents(iType As Integer, sSearch As String)
        url: "Default.aspx/GetEvents",
        data: "{'iType':'"+ type +"','sSearch' : '" + NewKeyword + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            var res = unescape(msg.d);
            $("#divResults").html(res);
            $('.accordian_body').hide();
            $('.accordian_head').click(function () {
                $(this).next().animate(
                    { 'height': 'toggle' }, 'fast'
                );
                $('.plus', this).toggleClass('subtract');
                $('#<%= tSearch.ClientID %>').val() = 'Search by event, team, artist or venue';
            });       
        }
    });
    return false;
}

从这里调用它工作正常:

<a href="javascript:void(0)" onclick="fnGetContent({'type' : '2', 'tag' : 'concert'});">TEST TAG</a>

但是我也想在我的上调用这个函数Document.Ready,我希望它在页面加载时正确运行,然后每次我希望通过它来更新结果时都会调用它<a href> 。这不起作用,类似问题的其他答案是不要调用在就绪之外定义的函数,我知道可以从包括 Document.Ready 在内的多个位置调用相同的函数

$(document).ready(function () {
    function fnGetContent("{'type' : '2' , 'tag' : ' ' }");
});
4

2 回答 2

4

删除引号,以便将对象而不是字符串传递给函数:

function fnGetContent({'type' : '2' , 'tag' : ' ' });
于 2012-06-16T00:02:40.000 回答
1

如果其他人遇到这个,我想通了,不要写函数,并且没有引号

$(document).ready(function () {
    fnGetContent({'type' : '1' , 'tag' : ' ' });
});
于 2012-06-16T01:27:30.427 回答