Использование флажков jstree в формах

Извините за немного двусмысленное название. Моя проблема очень специфична (и это, наверное, просто я новичок), я просто не знал, как объяснить это в заголовке.

В настоящее время я обновляю веб-страницу. На этой веб-странице есть 3 списка с элементами, например, в списке «Устройства» есть разные типы автомобилей. У каждого элемента есть флажок, пользователь отмечает те, которые он хочет использовать, а затем нажимает кнопку. Затем он получает отчет, основанный на его выборах.

<input type="button" class="mapbutton"  onclick="company.view.reports.serialize(this);" 
                style="width:280px;font-size:1em" 
                value="<fmt:message key="owner.text.open_report" />" />

Это код кнопки.

serialize: function(what){
              var m = company.model.report;
              var strDev = 'devices=';
              var devicesCB = $(".devicesCB:checked");
              if (devicesCB.length > 0){
                  for (var i=0;i<devicesCB.length;i++) {
                     strDev += devicesCB[i].value + ',';
                  }
                  strDev = strDev.substring(0, strDev.length - 1);
              }

и это часть функции сериализации, которая запускается, когда пользователь нажимает кнопку. Часть $(".devicesCB:checked") представляет собой jQuery и возвращает все установленные флажки класса "devicesCB". Эта строка также является ключом к моему вопросу.

checkbox : {
        "real_checkboxes" : "true",
        "override_ui" : "true",
        "real_checkboxes_names" : function(n){
            console.log("As");
            return[("area"+n[0].id),n[0].id];
        }
    },

Согласно документации jstree, это должно создавать флажки, которые работают в формах. Любые идеи, как я могу получить эти данные? Я пробовал var cb = $(".jstree-checkbox:checked"), который на самом деле ничего не делал, также я пытался работать с селектором дерева var areasCB = $("#tree");, но я не мог понять, что с ним делать.

Я почти уверен, что это довольно простая проблема, но я все еще очень плохо знаком с jQuery и javascript в целом.


person T.Kaukoranta    schedule 25.05.2011    source источник


Ответы (1)


Вот один из способов получения проверенных узлов:

$("#my_tree").jstree("get_checked", null, false).each(function() {
    //do something
});
person Mbrevda    schedule 16.08.2011