Mg.*_*Mg. 5 html jquery jsp struts2
我正在创建一个配置页面,它将一个类别树分成3列,以便于浏览:
**Column 1** **Column 2** **Column3**
Category1 Category3 Category5
*SubCategory1* Category4 *SubCategory5*
Category2 *SubCategory4* *SubCategory6*
*SubCategory2* etc.
*SubCategory3*
Run Code Online (Sandbox Code Playgroud)
我使用的是jsp,jquery和struts2.我要做的是配置显示类别/子类别的顺序.现在我展示这样的结构,我能够将它们从一个列拖到另一个列,对列的类别进行排序并使用jquery对子类进行排序,并直接修改HTML,但我没有意识到如何获取修改后的结构数据将其保留在我的数据库上.
我最近不得不在我的个人项目上做类似的事情,但实际上从未使用我编写的功能,但这里是我使用的代码:
function refactor() {
var array = jQuery.makeArray($('ul#remapped > li:not(.target)'));
var mappedArray = jQuery.map(array, function(i) {
var merged = $(i).find('ul.merge > li:not(.target) > span');
return {
column: $(i).children('span').text(),
merged: jQuery.map(jQuery.makeArray(merged), function(mi) { return { column: mi.innerText }; })
};
});
var xml = '<columns>';
jQuery.each(mappedArray, function(index, item) {
xml += '\n\t<column>';
xml += '\n\t\t<name>' + item.column + '</name>';
if (item.merged.length > 0) {
xml += '\n\t\t\t<merged>';
jQuery.each(item.merged, function(mindex, mitem) {
xml += '\n\t\t\t\t<name>' + mitem.column + '</name>';
});
xml += '\n\t\t\t</merged>';
}
xml += '\n\t</column>';
});
xml += '\n</columns>';
$('div#result').load('/Tools/Csv/Refactor', { mapping: xml });
}
Run Code Online (Sandbox Code Playgroud)
基本上,用户可以使用UI随意拖放以创建他们想要的结构.然后,他们单击一个执行此方法的按钮.
$('ul #re remapped')查询是包含新结构的元素(在我的代码中),然后我再次基于我的DOM结构进行了一些额外的查询,从DOM中提取我需要的值生成一个XML字符串,然后将其发布到服务器.
我敢肯定,这不是正是你所需要的,但我希望它足够近,你可以修改它为你所需要的.