0


我写了 showDataSubject() >function 使用 javascript 从 sql table.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/
但 click() 方法不起作用。(在小提琴中它正常工作)
但在我的应用程序中它不起作用。

$('#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 回答