让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中绑定数据?
谢谢,
答案 0 :(得分:1)
原来我在html aka
中有一个自闭合范围标记<span class="field-validation-valid" />
将其转换为格式良好的标签
一切都很完美。
叹了一口气,这一整天都打架了