IE7和IE8上的JSTree JSON_DATA

时间:2011-06-01 19:45:47

标签: javascript internet-explorer jstree

让JSTree与IE7和8一起工作时遇到一些问题。它在IE9,FF4和Chrome上运行良好。

它通过由ASP.NET MVC3控制器操作支持的JSON_DATA插件加载数据。

问题是数据没有加载到IE7-8的树中。我可以验证操作是否已被请求,并且没有抛出错误或至少陷入错误函数。

    $("#changeGroupTree")
    .bind("select_node.jstree", function(event, data) {
        // `data.rslt.obj` is the jquery extended node that was clicked
        var id = data.rslt.obj.attr("id");
        $("input[name='changeGroup_GroupId']").val(id)
            .siblings("span")
            .addClass("field-validation-valid")
            .removeClass("field-validation-error");

        $.ajax({
            type: "GET",
            url: "/api/group/gettree",
            data: { groupId: id },
            dataType: "JSON",
            success: function(data, status, jqXHR) {
                $("#changeGroup_SelectedGroup").html(data[0]);
            },
            error: function(jqXHR, textStatus, errorThrown) {
                var data = $.parseJSON(jqXHR.responseText);
                $().toastmessage("showErrorToast", data.ErrorMessage);
            }
        }); // end ajax
    }) // end bind
    .bind("loaded.jstree", function(event, data) {

    })
    .jstree({
        core: {
            animation: 200
        },
        plugins: ["themes", "json_data", "ui"],
        themes: {
            theme: "default",
            dots: "true",
            icons: "true"
        },
        ui: {
            select_limit: 1
        },
        json_data: {
            ajax: {
                url: "/api/group/getgroups",
                data: function(node) {
                    return { customerId: CUSTOMER_ID, parentId: (node.attr) ? node.attr("id") : "00000000-0000-0000-0000-000000000000" };
                },
                error: function(jqXHR, textStatus, errorThrown) {
                    alert("JSTree Error when getting Group data");
                }
            }
        }
    });  // end jstree

这是从服务器返回的json

[{ “ATTR”:{ “ID”: “d9cc2cb9-fbc4-4726-a9b1-9eee00f1e2b8”}, “数据”: “MTM”, “状态”: “闭合”, “图标”: “组” }]

我是否遗漏了一些东西,以便在较旧的IE中绑定数据?

谢谢,

1 个答案:

答案 0 :(得分:1)

原来我在html aka

中有一个自闭合范围标记
<span class="field-validation-valid" />

将其转换为格式良好的标签

一切都很完美。

叹了一口气,这一整天都打架了