0


私は showDataSubject() >sql テーブルからデータを取得するために javascript を使用して関数を書きました.by jquery.ajax()

function showDataSubject() {
            $.ajax({
                type: "POST",
                url: "subject.aspx/showDataSubject",
                data: "{}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(msg) {
                    // Replace the div's content with the page method's return.
                    $('#PanelSubjectMenu').html(msg.d);
                }
            });
        }


c# メソッド

[WebMethod]
    public static string showDataSubject()
    {
        SqlToXml sqlToXml = new SqlToXml();
       // sqlToXml.CreateSubject();
        return sqlToXml.CreateSubjectTreeViewClient();
       // htmlShowData = sqlToXml.CreateSubjectTreeViewClient();          

    }



フィドルhttp://jsfiddle.net/H5guu/ に保存されまし
たが、クリック()メソッドは機能しませんでした(フィドルでは正しく機能しました)
が、私のアプリケーションでは機能しませんでした。

$('#PanelSubjectMenu  span').click(function() {
            $('#subjectTree span').css('color', 'black');
            $(this).css('color', 'red');
        });

どういう理由ですか?

4

2 に答える 2

2

jquery 1.7+ の委任を使用してみてください。

 $('#PanelSubjectMenu').on('click','span',function() {
                $('#subjectTree span').css('color', 'black');
                $(this).css('color', 'red');
            });
于 2012-12-03T12:10:57.677 に答える
0

あなたのhtmlコードが動的であるためだと思います。したがって、次のようにバインドする必要があります。

$('#PanelSubjectMenu  span').live('click', function() {
    $('#subjectTree span').css('color', 'black');
    $(this).css('color', 'red');
});

古いバージョンの jquery (<1.7) または jquery 1.7+ の場合

$(document).on('click', '#PanelSubjectMenu  span', function() {
    $('#subjectTree span').css('color', 'black');
    $(this).css('color', 'red');
});
于 2012-12-03T12:15:45.873 に答える