Спасибо, я схожу с ума по этому поводу.Ни один из старых примеров не сработал!Итак, я наконец-то могу получить доступ к метаданным, проблема в том, что я не знаю, как перебирать неизвестное количество полей метаданных?
хорошо, теперь я проверил его и можно перебирать объект, возвращаемый data () без именованных параметров
.bind("select_node.jstree", function (e, data) {
var propsObj = $(data.rslt.obj).data();
for (var prop in propsObj) {
alert(prop + " = " + propsObj[prop] + "\n");
}
});
Если вам нужно избежать появления массива jstree_children,лучший способ, по моему мнению, заключается в том, чтобы инкапсулировать метаданные в другой объект, например, так:
"metadata" : {"properties" : {"prop1" : "aa1a", "prop2" : "123"}}
, тогда вы можете выполнять итерации, используя:
var metadata = $(data.rslt.obj).data();
for (var prop in metadata.properties) {...}