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> ます。これは機能しません。同様の質問に対する他の回答は、readyの外部で定義された関数を呼び出さないことでした。私は、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 に答える